I don't necessarily buy fully into all of these (I am in favor of homeworks, but they should be paid and later staged [this usually means more phone screens. can't win em all]). But since you asked:
1) because meaningfully large swaths of applicants are too stupid to fizzbuzz
2) because passing fizzbuzz is not the same as writing software
3) because teams are comprised of many people in many roles and just because team/person X likes you, doesn't mean you'll be a good aggregate fit.
1) I don't get fizzbuzz in first coding rounds anymore. It's usually graphs
2) Ok. I write software. Your whole team can go take a look at my software. Done coding?
3) Ok, so the last on-site round should be meet and greet then? Because I already submitted my code before. You guys all should have looked at the code and agreed to bring me on-site and just meet me. Why ask me to traverse trees again?
1. If applicants can't pass fizzbuzz then you shouldn't hire them and you can end the interview process right there.
2. Asking them to write fizzbuzz is exactly the same as asking them to write a method that does anything else, unless if they're aware of it and already knew how to do it, but of course you're asking them other questions as well?
3. Agreed, but it's impossible to match a new candidate with everyone in the company. If they're going to be working closely with person X then have that person sit in the interview for 15-30 minutes and see if they can work together on a problem.
1) because meaningfully large swaths of applicants are too stupid to fizzbuzz
2) because passing fizzbuzz is not the same as writing software
3) because teams are comprised of many people in many roles and just because team/person X likes you, doesn't mean you'll be a good aggregate fit.