I am curious if you have thought he had a learning problem, why you havent looked into getting him evaluated to see what it is. He could be lazy or he could have a real problem. While he is 21, he needs to find out so he will be better prepared for life.
Not knowing your situation, I can not say. If it is a case of lazy, then no, you should not give a diploma; those are earned not givien. Not sure if you can anyway since he already took a GED test and it is now on file. People will look at that and go,"oh, he just got his mom to give him a diploma because he couldnt pass the GED. This is why you cant trust those homeschoolers."
He needs to evaluated and then you know where to go from there.