There are two good answers already, explaining a general interpretation of, and attitude towards this situation.
So I would like to just focus on what you listed as potential / perceived benefits.
At a mere one and a half years of experience,
I get to effectively lead projects. I write the tickets, I choose the tech, I can make architecture decisions
might not get you the the kind of fruits — or not to the extent — that you might hope it would.
Chances are you are getting a high portion of things either plain wrong at worst, or just quite suboptimal in better cases.
In the following years you will likely (hopefully) learn how you messed up serially in these current coping attempts. Coding is just such an activity. It gets learned partly through declaring heaploads of previously written code as a sorry mess (realizing it as the truth), and deciding to do them over with some different approach. Again: it's a natural part of maturing as a developer.
But this should not happen on live product codebases that clients are already paying for, and expecting to put them into production soon where it will impact the lives of real people somewhere.
I know work-life balance for an emerging coder/programmer can be pretty much a fairy tale (unless you extremely enjoy coding in your free-time): for the sake of a meaningful development (basically, the take-off) of your programming career you will need to put efforts into hobby/pet projects.
Now, even if these hobby-projects take up a lot of one's free time, I believe these are the perfect places to test out one's ideas on, and to hone the skill of choosing fitting architecture candidates. Also, one's first big lessons on finding one's own code to be a sorry mess should happen on such hobby projects: here the stakes — in comparison to projects at the workplace — are low, and instead of unmitigated stress, failure here involves only surprise and maybe, at worst, some mild disappointment.
But going through this in a live environment, wasting both the clients' money and your employer's (and your own) good reputation, while dodging your bosses' frustration: not only this exposes you to a wrong kind of experience, it even deprives you from developing / obtaining a mental image of how things work in better, so to say, normal circumstances.
Workplaces should not be like this, or even if some are, you need to know better not to settle for such an environment... (I mean really? Your bosses expect a 1.5-year-experience developer to carry the business into success? Let's just say: it's a highly unconventional expectation.)
Coding "should" also "never" be like this; but sometimes it will, even elsewhere :) The key is that such harsh times should remain an exception and not become the norm.
Finally, learning a trade is more efficient when one can pick up structured knowledge from experienced peers (while maintaining an own initiative through self-chosen pet-projects) as opposed to having to solely rely on an ever-growing inventory of things that don't work.
Know the value of excellent mentors; be informed that people exist who are not only great at the craft they practice, but who are even blessed with outstanding pedagogic talent/skill, who can facilitate both your professional and personal development in spectacular ways, quite possibly un-available through any other course in your life. Look for these mentors, and embrace the opportunity when you get a chance to work with someone like that. It can do an immense contribution to your life-path; such that you may come to appreciate in its fullest only later...