Cannot reach keepalived VIP from other machines in the same network

I guess that

ip addr show | grep global

will show that your virtual address is

192.167.3.54/32

/32 is usually not the desired result, therefore you should add e.g. /24:

virtual_ipaddress {
  192.167.3.54/24
}