Boyfriend told me that he doesn't think he's good enough for me when he thought I was asleep? ADVICE?

Been together for about 3 months. He's 18, I'm 19. I'm his first, well, everything (kiss, sex, etc.) He's never showed any sign of insecurity before. But last night I stayed over at his place and he said my name a few times and shook me lightly to see if I was awake. I wanted to see what he would do so I stayed still. Then he started to talk. He talked for like 5-10 minutes but I'll list the parts I remember.

"Sometimes I think you're too good for me. Well.. Most of the time."
"I'm supposed to be the man. To not show my feelings... But it's hard"
"I just want to look at your beautiful face all day."
"You deserve to be with the man of your dreams, and that most certainly isn't me."
"I want to be that man, but when I look in the mirror.. I'm not."
"I treat you as well as I can but I'm scared that one day you'll realise that you can get a better, more attractive guy and leave me."

He wasn't crying but at some parts he choked up a little. I get the sense he's a little insecure with his looks. I don't know what to do. He's a guy, they don't talk about these things. So should I bring it up? Would that embarrass him? Should I ignore it? He's a great guy and ever since we started dating he has been amazing. I don't want him to feel that way and I had no idea he did.
Boyfriend told me that he doesn't think he's good enough for me when he thought I was asleep? ADVICE?
Post Opinion