And I think the problem is actually kind of complex. 501c4 status is kind of a needed one, but a hard one to define. Traditionally it's where you'd put something like a cycling group. A cycling group open to everyone isn't exactly a charity so donations shouldn't be tax deductible. This makes sense, because otherwise it would allow people to set up these groups to make their hobbies tax deductible. On the other hand, a cycling group isn't a for profit venture and shouldn't be treated like a business.
Now, say there's a dangerous street in a neighbourhood. Would it be wrong for that cycling group to raise awareness of the danger? Why shouldn't they be able to lobby their local representative? What if one politician supports a bike lane on that street, should the group be barred from supporting it?
Before Citizens United, this really wasn't an issue. A 501c4 that wanted to run adds would have to run them out of a separate account with disclosed donors. So there was no advantage to file as a 501c4 instead of a 527. Some 501c4's engaged in some political activity, but it wasn't all that significant.
Citizens United changed all of this. It allowed organizations to use general funds for political activities instead of specially segregated funds with disclosed donors. Suddenly there was a huge advantage to falsely file as a 501c4.