Hosts virtuais são algo embutido no protocolo HTTP (desde a versão 1.1 do HTTP).
Como você provavelmente sabe, os hosts virtuais permitem que o servidor HTTP redirecione solicitações diferentes no mesmo IP e porta para diferentes diretórios ou aplicativos da web. Seu navegador realmente envia o nome do site ao qual está tentando se conectar, junto com a solicitação de um documento.
A maioria dos protocolos de internet não funciona dessa maneira. Normalmente, um endereço IP ou número de porta separado é necessário se você quiser servir algo diferente. Além disso, geralmente o servidor espera que você saiba o nome dele, desde que você acabou de se conectar a ele.
Portanto, o protocolo FTP não suporta hosts virtuais, porque os clientes FTP não informam explicitamente ao servidor qual site eles estavam tentando acessar. Pode ser uma surpresa, mas o protocolo SSL usado no HTTPS também não suporta hosts virtuais - você precisa de um endereço IP separado (ou porta) para cada certificado SSL diferente que você instalar.