We need to know if you are looking for day trips from Athens rather than spending several nights elsewhere.
From the sound of your post it appears you are looking for day trips.
If you want one of the best islands for a day trip then it's Aegina just a relatively short ferry ride from Piraeus.
Aegina Town is very nice with a long waterfront and the back streets are very appealing. Numbers shops, markets and tavernas.
It's known as the Pistachio Capital of Greece, has one of the best preserved temples in Greece, and abandoned Byzantine Village in the Hills aka "The Mystras of Aegina" and more than enough to keep you son occupied.
As mentioned Nafplio would be ideal if you want to spend at least 2 days there as it will take at least 2+ hours to get there limiting your time in and around Nafplio. It's a perfect base to explore nearby World Class Archeological/Historic sites and so much more.
Both would be a good place for a couple days and spend the final three in Athens before your cruise.
Most other popular areas may be too far for a day trip.