Basicamente, porque [ ] faz parte da sintaxe da expressão regular básica, enquanto os grupos de captura e {} não são. Escapar de [] significa que você deseja corresponder a um colchete literal, não a uma classe.
Como um aparte, se o que você deseja é imprimir o último campo em um arquivo, awk é muito mais fácil:
awk '{print $NF}' customers.txt > customers2.txt
No seu caso particular, você também pode usar cut :
cut -d':' -f 4 customers.txt > customers2.txt
e você pode sempre usar o Perl:
perl -pe 's/.*:\s*//' customers.txt