High stress is a symptom of poor management. And many of the examples you give I would say are prime examples of poor management.
I'm a big supporter of agile development practices, mostly experienced with Scrum. I'm not writing this to preach about agile or scrum, but to show that there are development processes that deals with these issues.
In Scrum, you work a number of developers in a team. The team works in "sprints", typically of a duration between 2 and 4 weeks. Each sprint is sort of a "mini project". At the beginning of the sprint, the team agrees with a "product owner" what to accomplish that sprint.
The team then internally manages who does what in order for the team to accomplish all the tasks, as a team, within the sprint. Nobody is allowed to interrupt the team with tasks such as "dig through spaghetti SQL" or "implement some manager's UI tweaks". If such changes are desired and highly prioritized, then they can be implemented in the next sprint.
Only in true emergencies (e.g. the production system is down, and the company is loosing revenue/faith of the customers) is the team allowed to be interrupted. In this case the team figures out internally who does what in order to figure out how to solve the problem. So that means that the manager don't just attack one helpless developer asking him to fix the problem, but asks the team to fix the problem.
Because deliveries are made with short intervals (I personally believe that sprints should not be longer than two weeks), you can very early predict if you are likely to meet the overall project goal within the expected time. You are expected to be able to accomplish a similar amount of work (with some variation of course) from sprint to sprint. The goal of the team is to find the highest possible pace that they can keep indefinitely. That means you don't work 50+ hours/week, because you are not able to keep that pace indefinitely.
I'm not saying that you need to find a company that uses agile or scrum. But I'm trying to show that it is possible to have a software development department that runs smoothly with happy people who are allowed to work with what makes sense, and who are not overstressed.
And having said that, there are also a lot of companies that claim to be using agile or scrum, who in fact aren't. They have simply failed to understand the philosophy of agile, or have trouble letting go of the micro-management they have practiced for decades. In these cases some of these issues will turn up anyway.