Eu nunca soube que o Apache funcionaria como um servidor FTP, você aprende algo novo todos os dias :)
Em geral: ao usar as entradas do VirtualHost no Apache, muitas opções do servidor principal são suprimidas e precisam ser definidas no bloco <VirtualHost> ... </VirtualHost>
.
Eu acho que pode ser o caso de FTPOptions VirtualHostByUser
também.
Tente:
<VirtualHost *:21>
FTP On
ServerName www.firsthost.com
ServerAlias firsthost.com
FTPOptions StripHostName VirtualHostByUser
...
</VirtualHost>
<VirtualHost *:21>
FTP On
ServerName www.secondhost.com
ServerAlias secondhost.com
FTPOptions StripHostName VirtualHostByUser
...
</VirtualHost>