how is it possible that using wp_insert_category throw a fatal error?

The init action is the wrong place. This is because init runs on all requests, admin or front-end, but the wp_insert_category function is an admin-side only function. You generally don’t insert categories from the front end.

Move to a more specific action, one that will be run in the admin side. Probably from your plugin’s admin pages.