Beth,
I am by no means an expert when it comes to napping issues. However, when my ds was your son's age, we had an issue with our routine that I created. Ds would wake up early, around 6 or so. I would bring him to bed with me to get a little more sleep. Well, ds would sleep until 9 or 10 most times! Then the naps the rest of the day were always 45 minutes. I finally figured out that he was sleeping way too late in the morning for him to even properly get tired enough to sleep more than 45 minutes!
Ds would still wake at 6, and sometimes I would still bring him to bed, but only until 7 or so, then we would get up. If I had to wake him up, then I did. I also started putting him to bed earlier, I think around 8 pm at his age. I also started a dreamfeed around 10 pm.
Again, I'm no expert!! Just my thoughts from reading about your schedule.
Good luck!