I think it's just simply that there is a tiny percentage of the population that is dysregulated (and a large portion that is dysregulated a tiny part of the time)-- once your project is seen by enough people eventually some of these people cast their interest your way.
The communications mediums we use and prevailing cultures (e.g. see "geek social fallacies") are highly vulnerable to abuse, and a few abusers with axes to grind can easily enlist additional abuse from large mobs particularly where communication is public and durable. As contributors patience wears thin they become more exposed, both due to reduced kindness trigging more abusers and their justified intolerance of abuse looking more unreasonable to outsiders.
For most open source development the incentives to contribute are pretty thin. People do it because they enjoy working with co-contributors, helping out the public, and getting some positive recognition. It doesn't take much to turn that net-negative.
There is some level of attack that probably improves friendships and social cohesion. When it's just one wingnut that shows up on your mailing list the community can nuke them from orbit and everyone (except the wingnut, I suppose) can feel good about it ("Can you believe that guy?" "I know, right?!"). But when the attacks are mild enough that it's not obvious if you should ban them, when they come in with a twitter army, when it just won't stop-- it can really sap the energy out of projects.
I think projects could improve by moving more of their regular workflow to invite-only mediums-- private repositories, issue trackers, etc. If someone wants to complain about your project then they can do it on their own forum, they don't get to use the projects tools as a platform to crap on the project and deprive the contributors of their freedom to ignore the noise.
But I'm not sure, the highly open culture today has advantages in gaining new contributors but even if you're willing to eschew those advantages the change in norms makes that less viable. In 1998 you totally expected to email some patches to the developers of a project then get invited onto their email threads or a private mailing list. Today because the norm is some open github repository it's not clear how many people would be willing to work the old way.