Just a quick note. Money can't be free speech because it is never free. The government rarely gives it away, and banks almost never give it away. Maybe rich folks with guilty consciences or the need for a tax exemption do, but that doesn't make the money "free." Someone worked for it. If a person gives his hard earned money to someone that is a gift he paid for.
Worse, Usually folks don't give money without some expectation of something in return. Even Charities have a reason for being and giving money to the charities of important figures is a time honored way to get in good graces with them. But it's not free money, especially to the person giving. Yes, money is speech, but it is never free.
The reason why money can't be treated as free speech in a system with any kind of integrity (cross our system off that list, is this implicit quid pro quo is a feature of giving. In fact before there was formal trade kings would give "gifts" or "tribute" to other kings, expecting equal value gifts or tribute in return. If they don't do that to satisfaction the Kings would attack each other until one or both had made the other pay. It's never free. The Citizens United Decision and the decisions based on it are flagrantly corrupt decisions. We don't need a constitutional amendment. We need honest judges.
Now those with money have the right to monied speech. The rest of us have our right to free speech infringed.