Em uma declaração if , você tem um else . Se if não corresponder, a ramificação else será executada.
Em uma declaração condicional, ambas as ações são executadas, independentemente da condição ser verdadeira ou falsa.
Uma correção simples:
$ awk '$2!=1 {print $1,"0";next};{print $0}' file
PRO 1
GLN 0
ILE 0
THR 0
E você pode torná-lo mais conciso:
$ awk '$2 != 1 {print $1,"0";next};1' file
PRO 1
GLN 0
ILE 0
THR 0
Quando a condição é verdadeira 1 e não há ação, o comportamento padrão awk é print . print sem argumento imprimirá $0 por padrão.