Bueno, lo conseguí solucionar, dejo la explicación por si le sirve a alguien
Al parecer, había configurado un host virtual en el archivo /etc/apache2/httpd.conf, para la ip 127.0.0.1. Creo que es esto lo que hacía que no pudieran configurarse los hosts virtuales, darían conflicto al estar puestos en dos sitios diferentes. Eliminadas estas líneas, y configurando los hosts que necesitaba en el archivo 000-default de /etc/apache2/sites-enabled , en lugar de ponerlos en archivos separados, me ha funcionado genial, tengo ahora 3 directorios, y tres subdominios en
no-ip, y los 3 se pueden ver desde mi pc, desde internet, y desde mi red local.
Al modificar el archivo /etc/hosts para poder verlos en local, se debe reiniciar la máquina entera, no vale solamente el servidor apache.
Espero pueda servirle a alguien. Suerte