Andrews is a great middle name, especially be a family name!
I still think both sound great. The best way for me to pick one is to know if you plan on calling him by a nickname. I love John and the nicknames aren't too bad. However, I only like James not the nicknames like Jimmy or Jim. So, if he will go by his name with no nicknames, I am no help and still like both equally! But if James would be Jimmy/Jim, go for John.