He’s almost 3 years old and he’s constantly tired and grumpy during the day, as most nights he won’t go to sleep until gone 9pm. Sometimes nearer 10, which for a child of his age isn’t great. We take him up at 7/7:30 and give him a bath, read him a story and usually lay with him until he falls asleep, we’ve been doing this since he was tiny and back then I breastfed him too. He also has a milk before bed (cows milk now).
The past couple of months he’s been running around the room, jumping on the bed, talking at the top of his voice, turning the lights on and off and generally just not going to sleep until sometimes 10pm.
We are both working quite intense and difficult jobs and don’t get any down time in the evening because of this, we take it in turns to put him to bed but it means one or the other of us doesn’t get an evening and we can never spend it together.
He also wakes up at 6:30 everyday, sometimes earlier, so he’s getting very little sleep overall. He rarely wakes in the night. Today he had a nap for an hour and a half, but it’s always in the mid afternoon, so 2ish and occasionally he can’t be roused until 4/4:30pm which is what happened today. I kept waking him and he kept laying back down and going to sleep. I can never get him to have a nap any earlier, he just fights his tiredness, even in the car.
He’s upstairs with his dad now and I can hear him running around, throwing things, shouting and laughing.
I don’t know what we’re doing wrong, we try and keep a good routine in place, bath, book and bed but it’s just not working 
I just want us to have an evening together and for him to not be constantly grumpy and moody because he’s so tired.