Quando um script é executado, cada linha é executada uma por vez e cada uma deve ser concluída antes que a próxima seja iniciada. O caractere & após um comando inicia o comando em segundo plano, permitindo que a próxima instrução seja executada imediatamente, sem esperar que a anterior seja concluída.
Assim, seu script está iniciando uma instância de conky em segundo plano usando o arquivo config1 e, em seguida, iniciando outra instância de conky em primeiro plano usando o arquivo config2 e aguarda a conclusão dessa instância antes de processar a próxima exit linha. Se você alterar seu script para ter um & após cada comando conky desta forma ...
#!/bin/bash
conky -c ~/Conky/scripts/config1 &
conky -c ~/Conky/scripts/config2 &
exit
... não esperará que eles terminem antes de processar o comando exit .
Como John e Eliah afirmaram, && é usado para encadear dois comandos juntos com o segundo executando apenas se o primeiro for concluído com êxito. Isso geralmente é feito a partir da linha de comando, em oposição a um script. Isso explica porque depois que você fez essa mudança, a segunda instância de conky nunca foi lançada. O primeiro nunca terminou para que o segundo pudesse começar.
Espero que isso elimine algumas coisas.