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',
Clients need flexibility. Developers need a repeatable workflow that doesn’t have a steep learning curve. See how digital marketing agency Noiza found both with Advanced Custom Fields in our latest case study.https://t.co/BxQAy6COJt