The reason Harry is twenty-one and Ginny is twenty is because of the math.
In Deathly Hallows Harry is 17 and Ginny is 16. Then 19 years later Harry would be 36 and Ginny would be 35. James is older then Albus. So we have to assume that James is in his 2nd year. which means he is 12. we have to assume that Harry and Ginny were married before she got pregnant. so twelve years before the last chapter, Harry would have been 24 and Ginny would have 23 when James was born. In this story, i am having them be married 3 years before She gets pregnant and has James.