Equity vesting was low for the first year, but they gave me a (cash) signing bonus that made up for it. Pretty much one-to-one based on the starting value of the equity, and it paid out monthly instead of waiting until the end of the year.
The cafes were awesome and the prices there were decent. I was paid more than enough to buy my own lunch. Catered food is a cute perk, but it's hardly critical.
I don't drink soda, but they had free coffee and tea. Tea is my drink of choice, so I was happy. Soda is bad for you anyway. ;)
They did have free "snacks" if you count breakfast cereal. Which many people would grab a cup full of as a snack (there were no bowls, oddly enough). There were a mountain of breakfast cereal boxes on every floor near the kitchen. But yes, they also had paid snack machines.
The oncall routines were terrible, though, I agree. Luckily I was in a strange situation and was able to avoid them.
Our team was far better, technically speaking, than what you describe. Everyone was a pretty awesome developer, including my manager, who was really awesome overall. Developers went home at night; no one was being driven as if in a sweatshop. We had game nights and played board games. Periodic team dinners (that were awesome!). It was a blast.
And I think the latter really makes the difference. There are 20,000 people working at Amazon, according to the article. When you scale that big, some corners of the org are going to suck, and some will be better.
I may someday return to Amazon, now that they have an office near me in Colorado. But I'm still working on the game that I put on hold while I worked at Amazon, and I need to finish it before I reattach the golden handcuffs.