The thing is they don't explicitly say 'work over time' they say 'this feature needs to be complete and working by Monday or else' What does management think the developer will do, pull it out of our behind? Reminds me of Steve Jobs, actually.
I once had my boss explain to me if these features don't get completed before the end of the month, he will lose his house. I had already previously told him that it's impossible and had to explain we will need to compromise to reach that date. We released 1 month late but the software has a lot of issues and I'm now blamed for this as the lead developer of only two programmers. I worked 12 hour days 6 days a week for 1 month and he wanted me to work more. He still has his house.
It's a zero sum game. Developers only have so much time in a week and the more you chip at sleep and rest/play time, the more it's going to cost the developer's health and the project's cost.
It's frustrating because I'm just a developer (mostly contractor to boot) and yet I feel like I have valuable constructive criticism that would benefit management and the productivity of the project on the whole if they adapted it. You can rarely pull that off tastefully. Maybe I'm wrong, maybe these things exist for a good reason and I'm seeing this differently because I'm not in management so I have some confirmation bias. That's possible, but I've experienced the exact same scenario as you and it always seems harmful for the developer and harmful for the project.