Why does AWS use host names for their load balancers instead of IP addresses?

In AWS the Load Balancer IPs may change and the change is automatically reflected in the DNS name. Hence you refer to the DNS name (e.g. as a CNAME) and it all works. When using Route53 for DNS you can even create ALIAS-A records which directly propagates the current IP addresses from the LB DNS to your custom DNS name.

If you want the same behaviour as in GCP, i.e. a Load Balancer with two fixed, non-changing IP addresses look up Amazon Global Accelerator. It seamlessly integrates with AWS Application Load Balancer and gives you the same experience as you're used to on GCP.

Hope that helps :)