First of all, while you want him to go to bed earlier, don't feel bad because some of us have had the same issue. Our son who is now in kindergarten was the same way until he went to kindergarten last fall and HAD to be up by 7AM and had a full day. Before that I tried everything to get him to bed earlier, but nothing worked. He stopped napping by the time he was 2 1/2, but still no luck. It wasn't until he was consistently up earlier and had a busy day that his internal sleep clock shifted. Our daughter is now 2 and she's adapted to his schedule. Up by 7AM, sometimes no nap. If she gets a nap it can't be more than 60-90 minutes or she does NOT go to bed at night. Our bedtime for both is 7:30PM, and I can tell you I'm a much happier camper!
Hubby and I are both night owls and I was convinced both our kids would be, but thankfully they have adapted. DD is not happy when she does go down for a nap and I wake her up, and we deal with the crankiness for a bit, but then she's fine. But every kid is different, so what works for mine may not work for yours. It sounds like you might not have a choice except to deal with him being overtired and miserable for a while and go ahead and shorten his nap by 15 minutes at a time each week until you find a good fit for him. I wish you much luck in finding what is right for him!