How to apply MultiOutputClassifier to a dataset for Naive-Bayes algorithm
The examples's make_classification, shuffles, and stack are just to generate a multilabel dataset. You've already processed to y_train and don't need any of that.
Then, you want a base estimator to be Naive Bayes, not a random forest as in the example.  And all sklearn models should be fit as model_instance.fit(X, y, sometimes_optional_parameters); the error being raised is because you passed a model object instead of y (and also are using the wrong model object).  So the following should do what you want:
nb = GaussianNB() 
multi_target_nb = MultiOutputClassifier(nb, n_jobs=-1)
multi_target_nb.fit(X_train, y_train)