First of all, good job! You are doing such a good thing for your babies! We nursed (for 2 to 2.5 years each) and co-slept with all three of our kiddos, and I feel so good about it. I actively had to ignore negative voices about both practices. My kids are well-adjusted and easy and they sleep so well.
It's hard to stop that nighttime nursing. I just had to be firm about it. I would say things like, "The milk is all gone at night! I love you. Let me hold you close, because you're my baby and I love you." And I just pushed through it. After about three nights of protesting and heart-breaking sadness, they got it. We slept with ours, so there was still closeness. Maybe try it without the crib? Let him stay in the bed with you, that way he's still close to you and not losing both the intimate contact AND the milk at the same time. You can work on one thing at a time. Just make sure there's lots of loving words and stay firm. If you give in it will be harder the next time--he'll know you are pliable and he'll push that much harder to get his way. Timing is key, too--if you're going to push it, it might be best to wait until after the holidays so you're less tired.
Also, maybe it's not time yet? It all ends too soon, so maybe you could just let it go a little longer, knowing he will be done soon. If you just stop letting it be an issue, it will be less an issue for him and it might just go away on its own, sooner than you think. I think a lot of parenting issues are caused by taking a hard line on something that may not be a big deal, but then it turns into a big deal because it's a battle of wits. One of the best parenting tips I ever got was to pick my battles and let everything else go.
Good luck to you! I hope you find the perfect solution for your family!