Não há diferença técnica entre as duas formas de escrever os ramos em termos do que aconteceria. É uma questão de estilo e preferência pessoal.
Alguns desenvolvedores não gostam de ter uma saída incondicional na ramificação else
de uma instrução if se a primeira ramificação estiver saindo.
Eu provavelmente escreveria o código como
if [ "$ERROR_COUNT" -ne 0 ]; then
echo 'There were errors' >&2
exit 1
fi
# echo 'No errors' >&2
Observe os pontos-e-vírgulas removidos, a expansão das variáveis citadas e o último exit
removido (que está implícito no final do script. Alterei o teste para -ne 0
de -gt 0
porque está mais claro eu).
Eu também alterei a saída das duas mensagens de diagnóstico para que elas passem para o fluxo de erro padrão (e as melhorem de uma maneira que seria mais útil para o usuário). É discutível se o último echo
deve estar lá, já que não há realmente nada para relatar além da execução bem-sucedida (eu comentei isso).