Set object terms not working on plugin activation

register_activation_hook is one-time only activation hook. It can be used for database structure creation, as example, that needs to fire only on plugin activation trigger.

In order to set a custom taxonomy you need a hook that will fire not just once, but per every WordPress load. Such as init.

Use add_action( 'init', 'YOUR_CALLBACK' ); to achieve that