I think, there are three reasons. The first is, that volume in online poker has declined, which of course makes it more difficult for SnGs to fill. This is self reinforcing, because if people need to wait to long to get into a game, they give up and start playing something else. Like MTTs where you can always late reg into, whatever is running, and be dealt the first hand within seconds.
The second reason is, that SnGs have become difficult to beat at least at limits, where the money matter just a bit. This is because, SnGs are simple games, and with the current availability of training sites and programs like ICMizer it has become more difficult to find big edges.
Some poker sites like 888 Poker and PokerStars have magnified the problem by charging a very high rake for the low buyins, which make them difficult to beat as well. And when a certain game form is difficult to beat, then regulars will either stop or move to other game types. Like again MTTs, where you get to play much longer for the same or sometimes even less rake.
When regs stop playing SnGs, because they dont make money, then it become even more difficult for them to fill, and then recreational players lose interest as well. The bad cycle continue. The final reason is the one, you mentioned already, Spin n Gos. These have attracted a lot of the recreational money, which used to go into SnGs. Which again has contributed to making it more difficult for regulars to profit, which again.... I think, you get the point