Why can't I set two vhost in my apache?

The problem isn't with Apache, it's with your /etc/hosts file.

You can only have one line in the hosts file per IP address. So your hosts file should look like this:

127.0.0.1  hwy.local  www.hwy.local  test.app   www.test.app

with all the entries for 127.0.0.1 on one and the same line.