Это опечатка на вашей стороне, вы назначаете на X_train
дважды:
X_train, X_train, y_train, y_test = X[:60000], X[60000:], y[:60000], y[60000:]
Правильный ответ будет:
X_train, X_test, y_train, y_test = X[:60000], X[60000:], y[:60000], y[60000:]
КСТАТИ. fetch_mldata
скоро будет устаревшим, лучше использовать:
from sklearn.datasets import fetch_openml
X, y = fetch_openml("mnist_784", version=1, return_X_y=True)