O problema é que você define FS após awk ler a primeira entrada, então usará o valor padrão de FS , que é a space para o registro da raiz.
Você deve definir FS antes de awk ler qualquer entrada. Há muitas maneiras de fazer isso:
awk -F: '{print $1, $2}' /etc/shadow
ou:
awk '{print $1, $2}' FS=: /etc/shadow
ou:
awk 'BEGIN{FS=":"}{print $1, $2}' /etc/shadow