The reason that the field key works and the field name does not is that the field is probably not defined for the current “post” that is being shown, acf is looking for a field that does not exist. When you use the field key ACF does not try to look at the current post and just gets the field that you defined. This is not a bug. When a field is not already saved for a particular post you always need to use the field key. The same holds true for may ACF functions.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users