Sites keep email address only for SPAM.
To use email as a username they could keep a hash instead of the plain text. This would work for login and password resets and not risk exposing it if the db gets nicked.
If everyone did that credential stuffing would be a thing of the past.
And of course it would be impossible for them to send you unsolicited email.