"after 10 years of being unlucky in love I feel like I've found the perfect man for me."
I actually wonder if this is what's really stopping you from seeing this man's actions in the cold light of day. He's been better than all the rest so far; that doesn't make him perfect. And as I read here yesterday, the next best thing to a good relationship is not a crap relationship; it's being single. A relationship with the threat of 'we'll split if you don't do as I tell you' is a crap relationship.
"He told me if I couldn't accept his decision we need to break up."
"I decided I would accept this as I didn't want to lose him."
A relationship with the threat of 'we'll split if you don't do as I tell you' is a crap relationship.
"has told me if I can't deal with his son then we need to split up."
Well his first threat to split up worked, so why not use it again? (And again, and again ...). By dealing with his son, he means taking care of him completely while he buggers off to play football? That is more than 'dealing' with his son. That is being the parent while he absents himself from his responsibility.
" the mother of his son and my partner absolutely hate each other."
"He has had a lot of issues over the last few years ie his mom had an affair, left his dad and didn't bother with him or his brother."
There's a bit of me that wonders if you're the woman he's subconsciously decided to 'punish' for all he's suffered at the hands of women?
You are 29. If you want children, you will grow to resent this man, and then your fertile years will be over. Sorry to be so brutal OP, but nature is red in tooth and claw and it doesn't give a stuff for our feelings or our relationships. Biology is what it is. And IMO, he sounds pretty immature. How would you feel if he eventually matured when he was 40 and you were 42, your fertility was in the past and he then decided he wanted chidlren again? And left you for a younger woman? This is sadly a scenario other MNers have faced.
I met my DH when I was 30. We had our DS when I was 35. You have time to find someone else. I think you should consider it.