Unrealistic deadlines can be highly stressful. One approach to dealing with them is to reflect the pain back.
Your management may not be feeling the pain the team is feeling in delivering against artificial and aggressive deadlines. Your challenge is to make sure they see the consequences of their actions.
Produce a sprint report that details what has or has not been tested. Make it clear that by accepting a release under these conditions your management are also accepting responsibility for any bugs that arise from untested code.
"We have managed to test the new features delivered in this sprint, but we have not had time to do any regression testing nor have we we tested on other browsers or devices. The product may well have bugs that we have not discovered."
Do the same kind of thing with code quality. Every time you rush a delivery you build up technical debt and you reduce the quality of your code. This can be reflected back in terms of the difficulty of doing future enhancements on the code base:
"In order to achieve the last delivery deadline we had to hard code a number of values rather than using a more effective coding approach. The code base will be harder to work on now and as such we are likely to be slower to deliver any future work."
Finally, emphasise the impact of working long hours on the team:
"The team has been working evenings and some weekends for several weeks now. Team morale is low and motivation is much reduced. As the team members are tired all the time they are making more mistakes, which is resulting in increasing amounts of re-work."
This isn't about complaining. Instead, you are being transparent about the impact of deadlines. It will then be up to the management team to decide if they want to re-evaluate their approach.