I will answer your questions the best way I can down below:
1 and 2 - Why use Regions in Static IP addresses? And Why do we need to specify a Region for a Static IP address?
Answer: As mentioned in the documentation you have provided, Compute Engine resources are hosted in multiple locations worldwide. These locations are composed of regions and zones.
Resources that live in a zone, such as virtual machine instances or zonal persistent disks, are referred to as zonal resources. Other resources, like static external IP addresses, are regional.
Regional resources can be used by any resources in that region, regardless of zone, while zonal resources can only be used by other resources in the same zone.
For example, to attach a zonal persistent disk to an instance, both resources must be in the same zone.
Similarly, if you want to assign a static IP address to an instance, the instance must be in the same region as the static IP address.
The overall underlying is that depending on the region where the IP
has been assigned, this will account for the latency between the
user-end machine and the data center where the IP is being generated
from. By specifying the region, you'll allow yourself to have the best
connection possible and reducing latency.
3 - Why having "pools" and how to manage them?
Answer: Looking at our public documentation on Node pools, we can see that a node pool is a group of nodes within a cluster that all have the same configuration. Node pools use a NodeConfig specification and that each node in the pool has a Kubernetes node label, cloud.google.com/gke-nodepool, which has the node pool's name as its value. A node pool can contain only a single node or many nodes.
For example, you might create a node pool in your cluster with local SSDs, a minimum CPU platform, preemptible VMs, a specific node image, larger instance sizes, or different machine types. Custom node pools are useful when you need to schedule Pods that require more resources than others, such as more memory or more local disk space. If you need more control of where Pods are scheduled, you can use node taints.
You can learn more about managing node pools by looking into this documentation here.
4 - How does all (Static IP addresses, Load Balancers -- DNS Zones and Pools) fit together?
Answer: As mentioned earlier, all of these things (Static IP addresses, Load Balancers -- DNS Zones and Pools) need to be in the same proximity in order to all work together. However, depending on what regions you connect to by setting up in your Load Balancers, you can have connecting regions as well.
Moreover, I would like to ask you the following questions, just so I can have a better Idea of the situation:
1 - When you say that you are trying to rename an existing Kubernetes/Istio Google regional static Ip address that is attached to an Istio ingress to a Global Static ip address, can you explain in more detail? Are we talking about zones, clusters, etc?
2 - Can you please provide an example on what you are trying to accomplish? Just so that I can have a better idea on what you would like to be done.