This prompted me to look it up because I didn't actually know if the government mandated time off or holiday pay. Turns out they don't for private companies. It just happens that most private companies give those days off or pay holiday pay (anywhere from 1.5 times to 3 times regular pay depending on the holiday and employer).
For example, I'm salaried and my company gives memorial day, labor day, independence day, thanksgiving day, good friday (friday before easter), new year's day and a week off for christmas. Most salaried positions do this. But if you work in say health care, obviously hospitals need to be staffed over holidays. My friend's who are in nursing get triple pay if they work christmas and I think double for other holidays. My friends in retail only get time and a half. But while my holidays are paid, if they aren't working the holiday they don't get paid either. It just depends on the job whether you get pair time off. Pretty sure most retail and service industry does not get that. The only thing really mandated in the US is the 40 hour work week where you get overtime for going over if your a non exempt employee.
It's a weird system and depends on your employer, just like your vacation time. But if there were more federal holidays I think most employers would be pressured into giving those days off as well.