The term "server" can be a bit ambiguous - it can refer to an IP address, a software server (Apache), or a physical piece of hardware. I'm guessing the whois-based report is based on the site IP addresses. So it tells you that Dreamhost runs about 20 sites on each IP address, but that doesn't mean that each hardware server only has 20 sites. Also, the whois-based services may not have complete info, especially about non-com/net/org sites (for example, they often don't list .cn sites from China).
As far as I can tell, Dreamhost runs a bunch of Apache2 HTTP servers on each hardware server. Each instance of Apache has its own IP address. I can't directly see how many sites are assigned to the hardware-server, but one can sample the active set of sites (domains and sub-domains handling a hit). This morning about 400 sites were running on my account's hardware-server. Since most sites are inactive/low-traffic, I would speculate that there could easily be 400-800 sites (domains+sub-domains) on my account's hardware-server.
Note, I'm not saying these numbers are good or bad (or even accurate) in terms of shared hosting services. Like most people on Dreamhost, I'm just a low-volume user (a luser?), mainly interested in low-cost hosting.
Here's the detailed info I gleaned from my account (all number are for the whole hardware server):
Server Hardware: 2-Core AMD Opteron with 4 GiB of memory
Apache2 instances (each with its own IP address): ~50
Active domains/sub-domains this morning (7-8AM EST): ~400 (average 8 per IP address)
Average daily stats across all Apache instances (based on 5 days of data):
Average daily hits: ~1.6 million
Average daily traffic: ~460 GiB
Of course, it's also possible that the "hardware" I see is actually just a virtual machine running on a huge blade system (but maybe I'm just a virtual person running in some galactic version of "The Sims"