What does for name in "${NAMES[@]}" iterate over?
for name in "${NAMES[@]}"
Only the literal text NAMES.
Each array element as a separate item, preserving spaces within an element.
Only the numeric array indices.
Each character in the first name.