wp_schedule_event seems to be being added twice

It looks like you know what’s going on – here’s a way to avoid running the activation method more than once:

class AdminSupport {
    protected static $activated = false;

    public function onInitialize(){
        add_action('my_hourly_event', array($this, 'do_this_hourly' ));
    }

    public function my_activation() {
        if ( self::$activated ) {
            return;
        }

        wp_schedule_event( time(), 'hourly', 'my_hourly_event' );
        self::$activated = true;
    }

    public function do_this_hourly() {
        // do something every hour
        $this->assessplugins();
    }

    public function my_deactivation() {
        wp_clear_scheduled_hook( 'my_hourly_event' );
    }

    public function assessplugins(){
        //Does some things
    }
}