This law has been held up in court, as Missouri has the same law at the state level.
Look up blue laws throughout the country. The same reason those have held been held up as Constitutional by the Supreme Court are the exact reasons as Granite's law.
Just because you do not like it does not mean its unconstitutional.