The test_size = 0.25 don't really have an impact on the metrics I think. But you're model is too good probably because the function that the label follows is very simple. So your Adaboost don't need more than a DecisionTree(depth=1) to learn that function. But, you're probably using the same name y_pred in all the code and thus, y_pred should be actualized when you make any changes on the model or on the test dataset. The test_size actually modifies the length of the test dataset and the previous length was 25% of the total size of the dataset. If you modify the test_size, you modify that test dataset and you need to actualize y_pred with adb.predict(X_test) both for having new prediction matching with new datapoints, and not have a mismatch error.
To fix the issue, you just need to to add before using any function that needs y_test and y_pred : y_pred = adb.predict(X_test)