Vedo due errori principali:
1. quando fai i vari check semplicemente setti un messaggio, ma fai proseguire l'esecuzione dello script anche se c'è l'errore
2. il tuo ultimo if fa avvenire lo spostamento del file e poi verifica se è avvenuto correttamente. A quel punto il file è già spostato e quindi non serve (e da errore) cercare di spostarlo ancora:
else {(move_uploaded_file($_FILES['image']['tmp_name'], 'impgpro/'.$_FILES['image']['name']));
è inutile e sbagliato