wp_get_post_terms on custom post type with custom taxonomies returning an empty array

Just change

'fields' => 'name'

to

'fields' => 'names'

If you look at the examples in wordpress documentation you can see you should use plural(names, slugs, ids for fields):
https://codex.wordpress.org/Function_Reference/wp_get_post_terms#Examples