Você pode tentar iniciar quando a rede estiver em funcionamento.
start on started networking
No entanto, seu trabalho depende da condição externa (resolução de DNS), portanto, o loop criado pode ser inevitável.
Você também deve verificar novamente sua configuração de monit: O script de inicialização fornecido no site da Monit parece ser direto. Nenhuma menção de problemas que você está enfrentando.
Caso você não tenha feito isso, verifique o conteúdo de /var/log/upstart/monit.log e debug