Eu percebi isso. Basicamente, quando o nome do dispositivo não é reutilizado, isso significa que algum processo ainda está usando o nome do dispositivo antigo. Eu pensei que estava fechando tudo, mas ainda havia alguns processos em execução mesmo depois de fechar todas as janelas visíveis.
Veja como encontrar o processo que está usando o nome do dispositivo:
lsof | grep /dev/ttyACM0
Então, depois que eu matar esse processo e desligar o dispositivo, o nome do dispositivo será reutilizado conforme desejado.