In general, you probably don't want to include both the definition of New Years and New Years observed (though you can but you have to be careful of the ordering if you add both... this is talked about in the documentation on Date::Manip::Holidays).
To define the true New Years, just add (to your holidays):
but it is failing on some years. I actually think it might be a bug. I'll check into it tomorrow.
I have definitely decided that I need to add a couple more modifiers similar to IBD and NBD which will check if it is a given day of the week. That would make this much simpler. I hadn't been aware of the complexity of the holiday definition used here.