wp_set_object_terms() not adding new term to custom post and custom taxonomy

Use the fourth parameter in wp_set_object_terms() and pass true.

wp_set_object_terms( $pid, $name, 'name', true);
wp_set_object_terms( $pid, $email, 'email', true);
wp_set_object_terms( $pid, $birthdate, 'dob', true);

Though I do find it weird to use taxonomies for name, email and birthdate. I’d recommend to use metadata for this.

See: https://codex.wordpress.org/Function_Reference/update_post_meta

Taxonomies are meant for categories and tags like objects etc.