You need to use the field keys when using update_field() instead of the field names. Using field names will only work when the values for a field already exist in the database and will not work correctly where they do not. update_field() is one of the functions in ACF that pretty much requires field keys in order to work 100% of the time.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users