Not true. Nothing in the SSH protocol requires OS-level accounts.
Admittedly implementations of it that don't require OS-level accounts are rare, but they exist. For instance, Canonical provides SFTP space for Bazaar archives (and soon Bazaar-NG branches) for anyone with a Launchpad (https://launchpad.net/) account. These are then mirrored to the world via HTTP.
We implement this SFTP server using Twisted's Conch SSH library, and I can assure you we don't create OS-level accounts for every Launchpad user :) ... it was actually surprisingly easy to use Conch for this.