You haven't heard of any being stopped by another citizen because then it's not a mass shooting.
People here forget about the media bias against guns. Things get reported a certain way, and that becomes reality. Everybody remembers Virginia Tech shooting and murders because it was news 24/7 for a long period of time. Nobody remembers the Appalachian Law School shooting because it was stopped by two students with guns. Same state. 5 years separating the two. The only AP story failed even to mention that the students had guns and claimed that they "tackled" the shooter (no tackling happened). John Lott, in his book The Media Bias Against guns interviewed the students, who made it quite clear what they told the reporter, the reporter, and the editor who made the story that became the AP story, and the reporter and editor basically said their version was close enough and the fact that the students pointed guns at the shooter, which caused him to stop after shooting multiple people, basically was not important enough to report.
Pearl, Mississippi, the principal stopped the shooter as he was in his car in the parking lot, about to drive a few blocks to another school and resume shooting. Again, merely a pointed gun stopped everything in its tracks. Not reported 24/7.
2007 Jeanne Assam shot a mass shooter at the New Life Church out in Colorado. He had already committed mass murder the day before at one of their missionary schools, so several people, including Ms. Assam, were asked to carry their guns to church the next day. The shooter appeared, shot three people in the parking lot (killing two teenage girls and wounding their father), and came into the church shooting. He was carrying 1000 rounds of ammunition. Any of you who have ever picked up that many rifle rounds know how much it weighs. He really wanted to cause damage to the 5,000 people gathered that Sunday morning. Ms. Assam engaged him and shot him. He fell to the ground, and, realizing he could do no more damage, shot himself in the head. The interview with the press told reporters clearly that Ms. Assam was a missionary student with a concealed carry license who had been asked, along with other church-goers, to carry. So, how did the media report it? Armed security guard shoots attacker. Although it was untrue, this better fits the narrative of turning over responsibility for your safety to others.
Last year, you might have heard of the Uber driver in Chicago who shot a man who was shooting into a crowd.
Last year, in a Philadelphia barber shop, a man began shooting several people until he was shot by an armed customer.
There are lots and lots more stories. The mass church shooting in South Carolina received 24/7 coverage, but a man who kicked in the door of a South Carolina church in 2012 and went in with a shotgun was not covered much at all, because a parishioner held him at gunpoint for the police. Nobody was shot. Not newsworthy. Because it is not newsworthy, the public gullibly thinks it did not happen, it is not real. Reality is only what the TV shows you.
Your other points are valid as well, ooeel. These shootings usually happen in gun-free zones, which means it is unlikely law abiding people will be carrying guns. This should drive you to ask - WHY ARE MASS SHOOTERS CHOOSING GUN FREE ZONES? Because they do not want to be shot.
The mass shooters actually take advantage of gun control laws. They see the gun laws as weaknesses to be exploited. It makes their job easier.