Your boyfriend is doing this to try and make you take the blame for his wrong actions. This is wrong and very unfair. He doesn't care for you or respect you to do this.
No relationship can work under these conditions especially if he's throwing up unhappy things from the past.
You need to ask yourself why your still with him?
It doesn't sound as if you have any happiness or fun together.
Unless you both agree that all this has to stop- then there's no future in this relationship which is based on bad feeling and unhappiness.
You need to make the move away from him and get out and enjoy life. It's too short to waste arguing and perhaps he feels that you're always getting at him - why don't you both say good and positive things to each other for a change and see the difference that might make. Instead of making each other feel inadequate you'd make each other feel great.
It is a human failing to keep on harping about the past, and bringing up unpleasant situations that may have happened in the past, to make things unpleasant in an already volatile situation.
Do not worry, it is a common phenomenon. Did you hurt your boyfriend badly at any point, and is that why he is so defensive? He may in fact be trying to defend himself from getting hurt again; maybe the last time was rather too much for him, and he had to make a compromise.
If you feel that this was what happened, then you must try to make amends. Do not blame him for whatever mistake he may have committed in the past. Be patient, and try to see things from his perspective; this is a very good method of solving problems. Once you learn to do this, your relationship will progress more smoothly.
It's a very common way for men not to accept responsibility for their actions. I would watch out for this behaviour because it is very common among emotionally abusive people. It is their way of controlling their partner, through guilt, intimidation, whatever it takes. Be careful and do not allow your self to believe that "there is something wrong with me". Relationships are 60%/40% It takes two to make it and two to break it. Acceptance of this type of behaviour validates it.
Firstly no one person is an angel within a couple. You both have to imagine a box - PAST ISSUES - are put in this box by both of you. So any arguements you now have - neither of you are allowed to throw any of the boxed issues at each other anymore. He has to let them go and move on. If he continues to do so, he's crossed a boundary and there has to be consequences. If there is mutal respect between you both, he wont cross the line anymore.
As for when you're mad at him - and he was in the wrong, then he should be man enough to apologise for upsetting you anyway. Give you a big kiss and cuddle and make sure it don't happen again.
I think you must have hurt his ego by saying such things like he made a mistake . No man likes to admit he has made a misttake. He may do so in order that he may feel he has an upper hand
He obviously brings up past mistakes to try and justify his behaviour towards you now. The past does not technically exist anymore, and is only kept alive when people keep dredging it up.
Tell him he has to forget about past mistakes and if he can't, you will need to move on whether you love him or not, because he is obviously making you unhappy.