I actually think you've got a pretty good deal if it's every boxing day and you get them all together. Ok every other Christmas day would be fairer but maybe less practical, and your son has 3 households to consider, so how would that work? Plenty of young families on here have Christmas just themselves, or do every other year with family and don't see the other side at all those years. In my family adult siblings never spend Christmas together anymore because we are both on opposite 'every other years' to each other to ensure parents see someone each year (and because travelling involved in some cases that usually includes boxing day as well). So I can see the benefits of doing it your way instead if you want a big get together.
For Easter, it isn't even a big family get together for all families in the same way Christmas is. We do every other year with parents at Christmas but it's never occured to us to have a similar set up at easter, we just treat it like any other bank holiday and do what is convenient that year, often not seeing any family.
Your DS's dad has a much worse deal than you if he doesn't see his son and grandchildren until new years day every single year.
Your children were already adults when you got together, so you can't expect them to see you as parental figures, and it's very insensitive to suggest you sdil's children should call you granny. My dh has done his best to accept his mum's new partner after his dad's death, but I know he would never, ever see him as the kid's grandparent or want them to call him grandad. Ok your son doesn't mind, but he hasn't lost a parent.
Talking of my in laws, they actually don't usually spend Christmas day together, because they each go and visit their own grandchildren. They celebrate together another time. Would that be an option if you really want Christmas day?
If you want to change it, talk to your son and focus on what you are doing with him. Leave arrangements with your step daughter to dh, who sounds happy as things are.