I'm sick to death of giving men a "pass" on things, as if an entire gender is incapable of an entire category of things (e.g. holidays, gifts, cooking). I'm also sick of women who think they can't pick up a hammer or push a lawnmower, but that's another topic for another day.
The answer below about the husband blowing it with a fry pan and then never buying a gift again is an interesting point. I think there are plenty of people who give up because they can't measure up, at least in their own view. I don't know if that applies to your husband. Even if he didn't grow up in a house where these things were valued and celebrated, it doesn't explain why he refuses to adjust after 20 years.
What's significant to me is that you say he is a great husband even though he regularly hurts you, not only in choosing to do zero for these occasions, but also he spoiled the surprise that the kids had planned (disappointing them as well as you). So either he's utterly fantastic in every other way, a true coparent and a wonderful companion/lover/provider, or you have incredibly low standards. It's also significant that counseling made no dent in this. So you continue to be disappointed in him, and his children are as well.
So, if he's so awesome, you either
a) let go of this expectation with the "accept the things I cannot change" attitude (and get the counseling to help you do it, even if he doesn't go), or
b) you facilitate the hell out of it with "the list" as well as prompts on his phone (entering in all dates with shopping reminders at least 4 weeks ahead), or
c) you take over making yourself happy, you plan weekends away for every birthday and Mother's Day with girlfriends or a sister or at a spa (shutting off your cell phone for the duration).
What is NOT going to work is to continue to do as you have been - explain, urge, remind, feel crushed, rant, repeat. He's not hearing you, either because he is stubborn and thoughtless (or, worse, enjoys making you miserable), or because he truly has a major learning disability or emotional block in this area.
I am just feeling so much pain for you - I want so much more for you.