Or maybe they should send email to the address their users give them?
A human creating many alt accounts may not be desirable by a website owner, so requiring multiple real email inboxes or running a mail server adds another barrier to prevent spam.
Not really. I understand why website owners would like that, but it's simply not possible. In the worst case user will use mailcatch.com, aliases or one-time email accounts. No way you can check if the e-mail address is a "real" one. Fortunatelly.
You can’t entirely prevent it but you can certainly raise the bar enough to deter a substantial fraction of those signing up multiple times. Whether that’s worth the effort or not it a business decision.
Well now I’m really happy that some library doesn’t know how to remove the sub-addresses on my custom e-mail setup :-)