The law says "should," not "shall." It's a recommendation made to everyone, but only binding on government offices (assuming the government chooses to make it so).
Courts have agreed:
A brief review of the display provisions of the Flag Code indicates that the statute was not intended [**20] to proscribe conduct. The Flag Code codifies various existing rules and customs pertaining to the display of the American flag “for the use of such civilians or civilian groups or organizations as may not be required to conform with regulations promulgated by one or more executive departments of the Government of the United States.” 36 U.S.C. § 173. The operative provisions of the statute consistently use the term “should,” and not “shall,” when describing the proper manner for display of the flag. See 36 U.S.C. §§ 174-76. Moreover, Congress attached no penalty provisions for noncompliance with the display provisions in sections 174-76.
Dimmitt v. Clearwater, 985 F.2d 1565, 1573 (11th Cir. 1993)
Not to justify flying the Mexican (or any other flag) over our flag, or take away from the importance of the illegal immigration issue, but it is not criminal to fly such a flag.