The reason is likely that a value has never been saved for this field for the current post and you are using the field name in $key
. Under this condition you need to use the field key instead of the field name.
You can solve this by building an array like this
$fields = array(
// field name => key pairs
'name-of-field-1' => 'field_123456',
'name-of-field-2' => 'field_234567',
// etc...
)
Then use
$field = get_field_object($field[$key], false, true);