It makes sense to have separate repos for things that don't interact. But when your modules or services do. Having them together cuts out some overhead.
You don't have the same requirements as Google.
What are my requirements such that this wouldn't work for me?
It makes things tricky if you want to opensource just one of your projects.
Well, there's always "git filter-branch".
Not that I'd want to run it on such a mega-repository; it takes long enough running it on an average one with a decade of history.