exec substitui o shell pelo comando fornecido, como exec() de chamada do sistema. Quando o comando (o kill , aqui) parar, o shell não existe mais, portanto não há como o script continuar.
As duas exceções são 1) quando exec recebe redirecionamentos, caso em que apenas os aplica no shell atual, e 2) quando o comando não pode ser executado, caso em que exec dá erro e retorna um código falsamente de saída.
Portanto, exec kill ... é quase o mesmo que kill ... ; exit . Não exatamente o mesmo, mas perto o suficiente neste caso.