This is because many people do not understand the implications of it as long as it doesn't affect them then they don't care.
Loads of people on here have already said they run small businesses that will not be able to recover their costs, not to mention that they will need to pay staff holiday pay that day.
It does cost NHS money, what about hospitals with inpatients, they have safer staffing levels to adhere to so they need additional agency/bank staff to cover when people are off as there are not enough substantive staff to cover this. Corporate teams are different if course. Not to mention those who may call in sick etc on that day as they don't want to work. Staffing models are planned with normal bank holiday, leave, training included. Not additional days that are paid at enhanced rates plus additional leave.
Yes hospitality generally does well on a bank holiday but they still need to facilitate an extra day's leave at another time for these additional bank holidays (plus those who do have to pay enhanced hourly rate are paying out more) so this all costs money, they won't often make enough money to cover all these additional costs.
These are just basics of running a business. It's just thoughtless and selfish to not consider these issues IMO.
Obviously we'd all like an extra day off work to spend with family etc, most people are not disputing that but the lack of understanding on here is astounding. That doesn't make people miserable. Just concerned.