People come to Mastodon, in general, with experience from other, centralized social media networks, so they're bringing those expectations. Whether it works like email is irrelevant because it doesn't work like Twitter.
Here are a few key ways in which it doesn't work like Twitter that are off-putting, and why they are hard to change, even if we wanted to.

1) Following another user because you liked one post: when that user isn't on your instance, you usually have to do a three-step dance: click on the user to get to their timeline (on another instance), click "follow," and now enter your username into a dialog box because you're on another server. That last step is weird and off-putting. It's also completely necessary, because different servers don't have a cross-domain trust to pass your username around so (we know as web devs) you must tell the other server who you are; the architecture is protecting your anonymity by design by not divulging that data. But, relative to Twitter, that's weird. I don't think it is fixable without a change to the domain-based trust model. And, of course, this is yet another example of how people say they want privacy and anonymity online, but when you implement it for them they get frustrated at the usability tradeoffs those concerns demand.

2) A defederation split between your node and another node means you could lose access to people you follow. There is an analogy in the Twitterverse... Someone you follow could get banned. But that's different than someone you follow going away because their "neighbor" was being a Nazi and your server admin axed the whole node in response. Twitter users don't have "neighbors." Everyone's a neighbor. Entirely new mental model moving to the Fediverse. This is, again, a feature... But it's a feature some people find extremely valuable and others find off-putting complexity.

(Sidebar: I actually got into running my own node for this reason: I realized a good friend of mine wasn't followable from my first account because years ago my server admin had decided on a "no furries" rule and my friend's server happened to be furry-content friendly. Twitter doesn't make you build a red-string-map of historical drama to figure out what node to join).

3) Smaller nodes change the risk model. There are tradeoffs to decentralization: if your node goes dead, the whole network hasn't gone dead. But if your node goes dead, that's hugely inconvenient... And with no money on the table and individual communities being smaller, nodes go dead more often than Twitter goes dead (the fact that Twitter is still there in spite of everything that's happened to it is a strong example of the stickiness of a corporate-backed venture with a war chest). Of the three, this is the least-concerning one... If you sign up for an account at mastodon.social, you'll probably be fine. But in general, the system working as intended asks the user to trade out the security of a large, capital-backed network for the responsibility of being aware of the ambient health of their own digital neighborhood. It's nothing more complex than the ancient BBS model, but that's the thing... A whole generation or two of computer users never used a BBS. They aren't used to having to find something else to do with their browsing habits because Frank is having a bad year and decided to shut down his server for his own mental health.

It is worth noting, of course, that (2) and (3) aren't issues if you self-host. But I don't even think I need to put down a bullet point on why "You need to administer your own Ruby on Rails, Sidekiq, postgresql, and (fourth server I can't even remember right now) service behind its own public domain name" would be a non-starter for people.