I have been a corporate employee in he US since the late 1980s. I have always had a list of holidays provided by my employer, and it has never matched the federal holiday list exactly -- In particular, I don't think I have ever gotten Columbus Day off (yesterday as I write, by coincidence). When i worked in food service many years ago, none of the federal holidays was given to all employees, except for Christmas, when the establishment was closed. Nor have I ever gotten extra holiday pay for working on one of the federal holidays. Some union employees do get extra holiday pay for such work. Many private buisnesses observe some but not all of these days. Retail establishments generally do not observe most of them, and indeed are extra busy and have extra work for employees on several.
The Wikipedia article "Federal holidays in the United States" gives the history of Federal holidays, and says "Congress has authority to create holidays only for federal institutions (including federally owned properties) and employees, and for the District of Columbia."
The Wikipedia article Election Day (United States) says "Election Day is a Public holiday in some states, including Delaware, Hawaii, Kentucky, Louisiana, Montana, New Jersey, New York, Ohio, West Virginia, and the territory of Puerto Rico. Some other states require that workers be permitted to take time off with pay."
In short it is not true that "even private employers can't compel employees to work on [federal holidays]" and to the best of my knowledge it never has been. Time-and-a-half for holiday work is a matter of individual firm policy, contract, or a condition demanded or obtained by a union.