As a non US resident you can't help but think that is a massive part of the problem.
Many other countries have problems with bullying, mental health, radicalisation. We've also had mass shootings. But our tolerance is so much lower for that kind of BS. One shooting and it's over. The populace will support further gun control and stricter measures. This seems sensible to me since curing the underlying causes takes time. So why would you give firearms to people that aren't in the right state of mind to use them responsibly?
I think the real question is, why is the tolerance of Americans as a population, so high with regards to mass shootings? Are the lobby groups really that powerful they are changing the minds of regular people?