I think the NHL made the correct call. The fact of the matter is we're all here for hockey. I'd suspect the number of people who are going to stop watching the NHL because of this decision is small, because in the end we're not here for the themes, we're here for hockey. The only jerseys a player needs to wear for the NHL product are the teams official on-ice jersey. Having players wear theme night jerseys just opens the door to too much potential for controversy. Too many people have too many strong feelings on which themes were good and bad and what participation should look like. And even in the future, which new themes do you introduce and which do you decline? It's very clear by now that wearing those jerseys wasn't leading to any increased acceptance for anyone of any creed, and wasn't leading to any meaningful dialogue either.
In the end, they're still having theme nights, and they're still making the jerseys to auction off (as far as I know), so it's not really a big deal.
I would have been good with making all the jerseys optional too, but that doesn't remove the potential for controversy, which is the NHL's primary goal. It's like a parent saying "if you can't figure out how to share the toy, neither of you get to play with it". Yeah, it's maybe an unpopular move for the kids right away, but ultimately it does make it so the kids can't fight over the toy.