Quick question, what does your contract say about work hours? There is usually a well defined limit and the unpaid overtime you do should be regarded as illegal.
Don't put all the blames on management when developers do long hours. It's the developers who decide to stay late all the time when they should not.