If the birthday is more important than her relationship with her inlaws and her DH's relationship with her family, then the OP should put her foot down and not attend anything and demand her DH skip the wedding and all related activities as well. This would be a valid choice, setting clear boundaries.
At this point, it seems there is nothing the inlaws or DH can do to appease the OP. Offering to celebrate her birthday is viewed as offensive and rude. Not offering to do so I am guessing would be as well? Since there is nothing that would allow the OP's anger to subside maybe it is best to just not attend and have little to do with her inlaws going forward.
I am not saying people who find the cake at the gift opening to be offensive do not have valid opinions. I am saying that to me this comes across as looking for offense where none is intended. Is there anything the inlaws or DH can do at this point that would make the OP happy or at least less angry? I am getting the sense not, so maybe just distancing herself from people she sees no good intentions possible in is best.
No one is trying to "appease me" nor am I "demanding" anything. I never wanted nor asked for a party from my in-laws. I just want to be able to celebrate my birthday in the way that I want which means having a party with my friends Saturday night like we had originally planned. Well, that wasn't going to happen as planned so I told SIL and MIL that I would compromise and still go to the wedding for a few hours and then leave for my party. That wasn't good enough for them - they want me there the whole time. They also want me to go to the gift opening party the next day - on my actual birthday. When I reminded my MIL that this was my actual birthday she said something along the lines of, "Oh no, but you'll miss the gift opening party! You can't miss that - we'll get you a cake." I know you don't let things bother you, but when my MIL said that it was extremely hurtful - like I was a complete afterthought.
The bolded is why I think you should just skip the wedding altogether. At this point, nothing the inlaws do will make things okay in your mind, and nothing you do will make things okay in their mind.
The original question in the OP was: How do I keep family harmony without being a pushover? What would you do in my situation? My husbands family is making me feel like the bad guy in this situation, am I being unreasonable?
I don't think you can keep family harmony while skipping the wedding (or part of the wedding) or expecting your DH to skip the wedding. I don't think there is any consensus of who is "right" here, but it is clear that you cannot make your inlaws happy at this point and they cannot make you happy at this point. So happily enjoy your birthday celebration and don't give a second thought to the fact the inlaw aren't happy about it. They can get over it or die angry. You cannot control their reaction, you just need to accept it.
Do what makes *you* happy, taking into account the probable repercussions of any decision. From what you have posted, I think your best option is for you to skip the wedding altogether and for DH to be present at the entire wedding, and just smilingly say, "I am sorry the scheduling didn't work out." Don't let them guilt you.
If the guilt tripping is killing you, then I think you should give in and skip your birthday. But I don't think you can both keep family harmony and not be a pushover in the sense of changing your birthday plans.