Como está, eles serão executados um após o outro, independentemente de terem falhado ou não. Eles só precisam sair em algum momento, depois o próximo comando é executado. Um após o outro.
Se você quiser que eles sejam executados somente se os comandos anteriores não forem encerrados com um erro, use:
python do_this_first.py && python do_this_second.py && python do_this_last.py
Aqui, os dois e-mails funcionam como um AND
lógico. O segundo script só será executado quando o primeiro sair limpo e o terceiro somente quando o segundo for executado sem erros. Se houver algum erro, nenhum dos seguintes comandos será executado.
Se, no entanto, você quiser executá-los em paralelo, poderá fazer isso, mas há muitas outras opções:
python do_this_first.py &
python do_this_second.py &
python do_this_last.py &