A configuração está certa.
Apache late porque acha que é um erro da sua parte ter mais SSL VirtualHosts com o mesmo certificado (porque na maioria das vezes, configurações como esta se manifestam como um erro de certificado no cliente). Você pode ignorar as mensagens de aviso, principalmente porque, como você disse, funciona do jeito que você quer.
Se você quiser que a configuração seja independente do endereço IP, você pode especificar
<VirtualHost *:80>
nos seus arquivos de configuração. Naturalmente, você terá que ter a entrada NameVirtualHost correspondente:
NameVirtualHost *:80