Extremely simplistic Conkers.
Of course the hurt you feel was his, and your 'friends' responsibility. You can't conveniently separate the two. You're not a robot who can 'maintain a good relationship' with him to suit him.
Agree that the kids come first. If they are happy, you are happy.
The only problem here is you trying to please your kids and him. Just focus on pleasing your kids. Christmas and birthdays are a massive deal for kids, let them decide what they want.
He opted out of being a family, his choice. Now he wants to have the best of both worlds. He can't. What he wants is irrelevant, he choose to stop being around 24/7. You can maintain a civil relationship with him, for the kid's sake. That doesn't mean doing what he wants, it means doing what you want, what your kids want. What suits you all. You must never stop him seeing them, they need their dad, but you must stop fitting in with him as easily.
Of course you should agree suitable times for him to have his kids. But these times must suit you too.
Your little ones will grow up before you know it, will form their own opinions, decide for themselves whether they want to see him. For now, listen to what they want, add what you want, and go from there.
If the price he pays is missing key events sometimes, tough. He should have thought that possibility through before he ran off with your friend.