You want to host the web server for a 20 person NGO in house? What will the bandwidth cost? How will that handle high load because of a highly publicized event? Hosting the web sever in house is will be a catastrophic failure. Get a VPS, then you won't have to worry about bandwidth.
Email - there are tons of decent email hosting companies, GMail, Rackspace, LuxSci, etc, depending on your budget (Rackspace is the cheapest, LuxSci is the nicest). You want to use cloud email, in house email is too big of a headace for 20 people. If you're worried about security LuxSci email is HIPAA compliant.
You can either get a Microsoft AD server, or use Linux. Desktops are better than laptops for in the office, they're harder to steal and/or misplace, cheaper to repair or upgrade, and they last longer. If you use Windows, you'll have to buy a decent antivirus, but you should be able to find everything else Open Source.
Get a decent router, cisco small business routers are nice, they don't crash like cheap routers do.