Maybe I’m wrong but I’ve the latest version of ACF and you can set a initial zoom to a field, but when you fill your google map field, coordinates are saved but not the zoom.
The code above allows zoom to be saved.
To save zoom even when not modified, I made this little change :
In core/fields/google-map.php
I added in create_field :
$field['value'] = wp_parse_args($field['value'], array(
'address' => '',
'lat' => '',
'lng' => '',
'zoom' => $field['zoom']
));