$field = get_field_object('selector', $post_id );
is empty for the same reason that update_field() is not updating properly. The field does not already exist for the post so it returns nothing. Basically, anywhere that you’re coding the field name into your code you need to use the field key instead.