Certificates are not about Security at all! Certificates are about Authenticity!
The Key inside the Certificate is for the security! The certificate is a way to add some metadata to this key.
You can have the same public key in a self signed or in a CA certificate. The security of the encryption will be exactly the same. It's just that with a self signed certificate you are anyone, and with a CA certificate you are at least "the owner of xyz.domain, according to CA".
Think about a person standing at your front door. This person tells you some information. The certificate would be any ID this person shows you, because a ID is metadata about this person.
Of course, any person can just go to your door and show you some paper, hand drawn with crayon, that says they are a police officer. But would you leave your house if this person tells you so? It could be, that they are really a police officer and have to evacuate you, but with only the hand drawn crayon ID you might wonder if that's legit.
If this person stands in front of your house with a proper police ID, maybe with some hologram or whatever they use to make is harder to fake, a police car is parked behind him and inside sits another person in police uniform, you most likely believe this person is more authentically a policeman!
Of course, you still can fake a police ID, get a police uniform and paint a car to look like a police car, but it is way more work than painting an ID with crayon.
Saying "It's possible to fake a police ID, so we should just accept crayon IDs, this way the police can create the IDs cheaper" is not the solution.
A self signed certificate is like a guy showing you an ID painted with crayon. Everyone can do that in seconds and it really has no value. That's why browsers don't accept them.
Now to your email question:
What makes you believe email is in any way less insecure than DNS or http?
If you want to receive the email from the CA, you have to either MITM the connection between CA and email server of you have to change the DNS/MITM the DNS query between CA and DNS server.
If you can change/MITM the DNS server, you can also create any DNS record or change the A record and thus add code to the http site!
So email is only less secure if you can MITM the connection between the CA and the email server but not the connection between DNS or web server and CA. That's very unlikely IMO.
It is trivial to MITM a public wifi network. So if browsers would accept self signed certificates, one could automatically log and change any websites anyone in this network accesses. There are many tools which do just that. Redirect any traffic to this tool, it will automatically create a new certificate for any domain asked, forward the traffic to the real server and log it. Not much work at all. If you want to do that with CA certificates, you would need to verify each requested domains on the fly with the CA and basically hack the CA or their upstream provider.
Eavesdropping or (wo)man-in-the-middle is very easy in a public wifi in a cafe or a related setting. Eavesdropping fibre cables between data centres of CAs and webhosters is a totally different magnitude.