Simplesmente diga awk
para imprimir as partes da string, separadas pelas hipensas:
awk -F, '{print substr($4,1,3) "-" substr($4,4,3) "-" substr($4,7,4)}' < data3
Exemplo de saída:
670-546-2234
804-434-4528
520-853-4566
434-566-7345
520-345-6789
520-656-4573
657-890-4566
A razão pela qual você obteve a saída que você fez foi que você salvou toda a saída do awk em uma variável do shell e, em seguida, pediu as partes específicas dessa string. A própria variável tinha novas linhas embutidas e continha todos os números de telefone, você só teria que percorrê-los todos manualmente, ou simplesmente fazer o awk fazê-lo.
$ echo "$phonm" |od -c
0000000 6 7 0 5 4 6 2 2 3 4 \n 8 0 4 4 3
0000020 4 4 5 2 8 \n 5 2 0 8 5 3 4 5 6 6
0000040 \n 4 3 4 5 6 6 7 3 4 5 \n 5 2 0 3
0000060 4 5 6 7 8 9 \n 5 2 0 6 5 6 4 5 7
0000100 3 \n 6 5 7 8 9 0 4 5 6 6 \n
0000115