Flying the flag was not breaking the law, a HoA does not have the weight of law and one can not recind their rights to free speech. In order for this to be breaking the law it would have to violate a local ordinance, or prove a substancial breech of contract (I doubt very much there are no people with 'butterfly' or other decirative things on their property).
No one took away the homeowners right to free speech. The HOA simply required that his "free speech" must hang from a flag pole attached to the house.
Here's your cluecheck: The 1st Amendment regarding free speech states that CONGRESS may not enact a law that would restrict your free speech. A PRIVATE ORGANIZATION which you sign a contract with can! If I were to go to work for someone, then I start bad mouthing him in front of his customers, do you think I would be fired or could I sue him for "violating my free speech" rights?
If he wants to fly the American flag he can, he just needs to move first. I personally think that anyone who makes a long-term home in an area with a Homeowner's Association is pretty stupid in the first place.