I love the name
John! It's one of my top favorites for a boy. I think it's a very handsome, classic, masculine name that will age well. I, personally, don't find it dated--I think it's a name that has stood the test of time.
I don't like
Jonah, so that option doesn't get my vote. I think
John with the NN
Jack is good, but I prefer
John on its own. Some middle name suggestions:
John Spencer (my personal favorite)
John SamuelJohn MichaelJohn PrestonJohn WilliamJohn WestonJohn AlexanderJohn CarterJohn CooperJohn EverettJohn EdwardJohn FrederickJohn CharlesJohn GarrettJohn GrantJohn IsaacJohn WesleyJohn PriceJohn PierceJohn PatrickJohn LucasJohn Maxwell