Because we can't accurately guess what customers will use their VMs for, we take a minimal approach to pre-installing software packages, and go with the set of things that the OS vendor selects, plus the core Cloud SDK components (e.g. the gcloud command) and software necessary to enable features like login management. Many customers prefer that we not install extra software that they themselves may not need, but which could contradict their security policies or just take up unnecessary space if installed by default.
You always have the option of customizing your setup by creating a VM from our default image, adding the software you want, then shutting down that VM and making a new "image" from that VM's disk. Then you can use that Image in the future to startup new VMs. The only catch is that the image you create will not track any pre-installed OS patches or other software versions, but you can recreate your image from time to time to get the latest stuff (we update the base images every few weeks with the latest updates and patches).