I agree. Most places I've worked payed their employees a premium for working on holidays, and most of the employees were eager to earn that premium. Also, most employees worked voluntarily, unless there weren't enough volunteers, in which case it was generally the those with lowest seniority who got "drafted". Besides, companies are in business to make money. How is it greed for them to try to fulfill that mission?
Being open doesn't mean more sales, anyway. People will have a fixed amount to spend, whether they spend it now or next week. It might, however, mean giving their customers a choice. I notice nobody complained about WalMart being open.