It's a simple supply/demand calculation. "Game dev" is high on the dream-job list -- "internal framework developer for MegaCo" is not. Game engines have made game dev more accessible than ever, the raw talent pool is bigger than its ever been.
It's a lot like being a professional musician. The hours suck, the environment is usually crap, it spills into your home life all the time... and the pay sucks unless you're the 0.1% (or a business person in the field instead of a performer) but lots and lots of people want to do it and will grind away at being a pro musician, because they're passionate about it.
If there's any set of devs that needs a union or is most like other fields where unionization is beneficial, it's game devs.