I agree with PP and think it's time to try 1 nap. My LO was also a great napper, and so I was so confused when we started having NWs! I thought it must be OT (that's usually what it is with him!), but when I pushed Bedtime forward, he just acted crazier. Finally, someone told me to try shortening the AM nap to 30 minutes, and that fixed everything! Of course, after awhile, that 30 minute nap was too much and we just had to take the plunge and go to one nap.
My LO showed tired signs at 2.5 hours after waking. But, when I pushed him he could manage 4 hours at first! I was really surprised. I think the sleepy signs were out of habit b/c we'd been on the same routine for so long. I also think that when you have a good napper, they are sort of obedient about sleep - meaning, they'll sleep b/c they're used to it. but, Because they're older now they don't need as much, and so the extra sleep results in trouble at bedtime or NWs.
You can try limiting that AM nap to 30-45 minutes and see where that gets you. You could even keep it where it is now (9:30) but wake at 10. Try for a second nap around 1:30, and hopefully it will last 1.5 hours. That should get you to 3 pm, which is closer to where you wake from 2nd nap now. Bedtime might have to be 30 minutes earlier until he can push the awake time more. Once we started this process, Owen was able to strech his A time pretty quickly, so don't be afraid to monkey around with the times. This is going to be a frustrating period until you safely get to 1 nap consistently. They usually are too tired for 1 nap, but not tired enough for 2. So, your routine is going to be pretty variable day-to-day until your LO can consistently do 4.5-5 hours of A time at a stretch. Just stick with it, and follow his cues. You'll get there eventually!