I think I know what the problem is here, when your a single parent, and you go out for the day (including the child) its an uncomfortable situation....you cant expect the new partner to start paying for everything, so it would be easier if you just avoided the situation and pay for it yourself....
At the end of the day, if someone is with you and are serious about you and your son, they wouldnt expect you to keep paying for everything, its just not on, you need to find a way of suggesting you pay half each, that way they are paying for themselves and also making half a contribution towards your son.....which seems fair to me if they are sincere about you and the family set up. I understand its awkward as I have been in this situtaion, but you should start as you mean to go on....be more vocal and explain that if a day out is on the agenda they are to pay half....its only fair, dont be embarressed, at the end of the day the money you are spending on them could and should be spent on your child.
The fact that your last boyfriend was letting you pay for everything, days out extra food etc, but earnt more money than you, just tells me that he wasnt serious about you and your boy...complete waste of your time.....maybe you would be better off meeting a single dad, that way they will understand a bit more?
Whatever happends, enjoy your extra money and that bit of extra time spent with your son, and I hope you do end up meeting someone that is worth your while x