Boyfriend never wants sex

We have been together a little over 3 years and he literally never ever shows he wants sex. The first year or so I'd never make the first move but now it's like every time I do I feel small and worthless because he never wants to, it's always 'I'm tired, it's too late, later' but we never do it in the day because he says I'm not comfortable with my body when I am I was insecure at the start but now I know it's my body I'm not going to change any parts so I mayswell accept it. It's more like a chore to him I've tried everything, buying sexy underwear, doing my hair and make up really nice, it's as if he's not interested. I know he's not cheating 100% and he's definitely not gay. I have a high sex drive and I try to do me for a while but it's not enough. What else am I possibly meant to do? I've tried talking to him he always has excuses like 'I do want to, we just always do it so late' and I keep telling him it doesn't have to be that way but never changes it. I'm not bragging about myself but I'm short/medium height, weigh 8 stone have big boobs but my bum isn't too big, small waist as I wear a waist trainer, have long blonde hair with blonde highlights always put effort into my make up and always told I'm beautiful always get attention off men when I'm out (I don't like it) but why isn't he interested? I never admit that I'm pretty because sometimes I don't feel it but everyone's always complimenting me and it hurts because I chose him and he's not interested. I don't know what I can do to make him want me again. I'm not going to therapy because that's just out of our comfort zone. Any other tips or advice is welcome.