If the field does not have an entry in the DB for the post you are getting it for then you cannot get it by name. ACF uses the field key, when you supply the field name then ACF looks up the key by finding the field key reference for in the DB and uses the post ID and field name to get it. If there is no value saved in the DB then there is no field key reference and ACF is unable to locate the field.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users