Variation in output of Logistic Regression when using SMOTE
I do not have enough reputation to make a comment. 

For each run, you use different data for training and testing. To obtain stable results you should also fix the partition of the data into train/test set by providing random_state for the train_test_split:

X5_train, X5_test, Y5_train, Y5_test = train_test_split(X5,Y5, test_size=0.20, random_state=4)


A completely different question, however, is why with a small/large? change in training data you have drastically different classification performance.