It's not a scientific study but I don't need scientific accuracy in order to get a pretty clear idea where I would or would not want to work.
If that was the sum of it, you'd expect to hear just as much bad stuff about Microsoft, Google, Apple, and so forth. That doesn't seem to be happening at the moment.
People also don't particularly want to read a story from a happy engineer at a big company either.
Additionally, the unhappy person who has an axe to grind is likely to go out of his way to publicize it, talk to reporters about it or write comments on the Internet about it. Happy employees are less likely to go out of their way to comment on the experience, and what they have to say is less notable on average.
Also, where do you get a 50% of engineers leave before 2y?
They retain people because not every team is like what you read in the news. There are teams with completely normal on-calls who love their life and job and are far from upset with anything that has to do with work. Free food isn't a deal breaker when you make what companies like Amazon pay.