Each time the result of XGBoost is different
You are missing some seeds there:


Numpy
Pandas
StratifiedKFold


I will say that StratifiedKFold(shuffle=True) without a seed can make your results change.