You ask what's wrong with you; why you seek attention and love from other men and why you aren't satisfied with just your boyfriend. Let me give you analogy that will answer your question. Imagine sitting down to dinner. You're starved. The plate that is put before you is empty. You leave the table without haven eaten and you're starving. In this case, would ask me what is wrong with you? Would you wonder why you're hungry?
You're hungry because your needs aren't being met.
I'm going to go a step farther and say that I don't think that you believe deep down that you deserve to be treated well. I think you feel guilty over being irritable with him. And, I think you unconsciously feel that you deserve to be punished for this. When you say at least he doesn't cheat on me, I hear you saying, "I don't deserve to be treated well. So I'm lucky that he doesn't cheat on me."
You're both locked in a vicious cycle. You are irritable because he doesn't "feed" you on some basic levels. You go off on him and he resents you for it. He doesn't cheat, but he punishes you in another way, by "forgetting" your birthday and anniversary. When he forgets, you behave in a moody irritable way, which angers him and makes him forget some more. See the vicious cycle?
The problem here is you both are acting out your feelings rather than talking about them. You feel hurt and you ACT moody. He gets mad when you act irritably, so he gets back at you by neglectful ACTS.
Most relationships fall apart precisely because couples act out rather than communicate their feelings constructively.
To break this negative cycle, you must stop acting moody and irritable and talk to him instead using constructive communications.
The most constructive communications are proactive, meaning you tell your partner what you like and what you want, so that he has a chance to please you, rather than wait until he lets you down. It's much harder to be constructive and positive in your communications (to not sound nagging, blaming, whining, etc.) when you've already been let down and you're telling him so. As I said, when you criticize him he's going to feel hurt and angry and pay you back.
From now on tell him in a calm and neutral tone BEFORE your birthday or anniversary how much it would mean for you to receive a sweet SMS message from him acknowledging the day.
When he responds to your wishes, which he will if you communicate your needs correctly, make a big fuss about it. Praise him. Praise is the best way to encourage more of the same behavior. Because we humans seek pleasure, he will want to continue behaving in ways that bring him positive feelings.
Do what I instruct and you will have him eating out of the palm of your hand! and wanting to remember all the things that please you.