People often think that getting fired for refusing unpaid overtime is rare, nope it’s not, that's how work is designed. Your boss can decide you’re disposable the second you stop giving them what they want, and the law won’t save you. Infact they don’t care if you’re right, they only care if you’re useful. Unfortunately that’s the entire system we're in.
So why don't more workers push back?
Well, you already know why. Most of us can’t afford to. Currently half the country is one paycheck away from not paying rent and that’s not by accident you know, it's how they keep you quiet. When missing one week of income means eviction, you don’t say no, you say yes because you’re trapped.
The real truth is that your job isn’t a deal between equals, it’s leverage and the employers have all of it. You need food and rent, they need labor, but there’s always another worker waiting for the same crappy wage. That’s why they can threaten you, fire you, or pile extra work on you anytime the need arises for them to do so to you.
The only real way out is to stop letting them keep that leverage.
Get savings if you can, and I would say that join a union too if you can so you can talk to other workers instead of pretending everyone’s on their own. If you ever get the chance to leave a toxic job, you take it without looking back, because staying and hoping for better treatment is just asking to be used until you burn out.