My circle of friends are what you call professionals. They spend an awful lot of time at work, most of it on looking like they're working.
There's a fair number of jobs where the work itself is not hard or time consuming, but where a culture has grown where everyone needs to justify their position. This skew incentives; if you're a junior, you end up doing a bunch of little things that can pass as a laundry list of things someone had to do. If you're senior, you can gun for getting credit for grandiose sounding things like "strategy". Junior people end up in meetings all day, which if you're senior, you end up calling everyone into. Everyone sits around until late to demonstrate worth.
A lot of these jobs could be done remotely, on any schedule with a sensible number of hours, by just about anyone who can read and write. But because of the culture, they end up being done by the only people who have 100 hours a week, namely singles in their 20s who are just out of university, in some very expensive location. These people then have families to feed and get stuck propagating the same sick culture.
I don't see the law as providing a solution. Nobody enforces the 48 hour contract in Britain. When did you last hear about a City sweatshop being liberated by the police?
The way to change the culture is actually, believe it or not, startups. Yes working hours can be horrible in startups. But in an environment where a lot of firms are startups, there will be more variation in the working culture. Certain firms are already showing the way forward with flexible hours, remote work, and other family friendly practices, without compromising on quality.