When your virtual machines use in-host virtual networking (they only communicate with the host or other VMs running under the same host) you can assign literally any IP address you want.
But when you would like to communicate with VMs or bare-metal machines running on other servers, you will need to use the network infrastructure of your hosting provider, which means that you can not just assign any IP you like. When you just assign any IP address you like, you might run into address conflicts with other customers in the same datacenter. So each virtual machine needs a LAN IP assigned by the provider.
This, however, assumes that the virtual machines even are on the same LAN. When your hosting provider is large, chances are that their servers are on different LAN networks. Or maybe the physical machines are on a LAN for management purposes, but all the VMs are intentionally isolated from the management LAN for security reasons and can only communicate via their Internet IPs.
You need to consult your hosting provider for details.
When your hosting provider doesn't provide more than one LAN-IP to each of your servers (or doesn't do so for a reasonable price), you could set up a VPN tunnel between the physical servers and bridge the in-host VM networks with that VPN tunnel.