With 20+ people you definitely want centralized authentication.
I'd go with Windows for this setup. - Relatively few boxes needed. 2 for AD, it does your DNS and DHCP stuff. A 3rd box for your Exchange (I have 0 experience with Exchange, I suppose you can always keep your google apps), and if you want to do file serving in house, 1-2 boxes.
- Monitor clients with WSUS. It's easy to set up, and it'll tell you which clients aren't up to date. There are other paid solutions available, but this one is free.
- Push software with GPO so long as you like your .msi's or .bat scripts.
- Permissions get messy with shared Windows and Unix files. Separate the shares, or get some other service to handle it for you (the previously mentioned Dropbox)
- Lots of Windows consultants available if stuff breaks.
You can always separate out services later to Unix hosts if needed. DNS is kind of tricky because you'll either have to manually add all your Linux boxes, add certificates to the machines, or turn off secure updates in AD. Or you're stuck running SMB on all your hosts to get them in to the domain.
Frankly I think the easiest solution is all *Nix or all Windows. Anything else eventually runs in to compatibility issues because whatever tool you're running just isn't cut out for multiplatform. Or if it is multiplatform, it probably doesn't integrate as well as the single platform solutions.
Using machines outside the office - I'd guess remote desktop or something through a VPN. I'm not familiar with this because at my last job all the Linux hosts were on public IP space, so you could SSH in to it so long as you were in the allowed hosts.