How to predict multiple images from folder in python
You are looping on a folder to predict each image -
for filename in os.listdir(image_path):    
    pred_result = model.predict(images)
    images_data.append(pred_result)
    filenames.append(filename)

But the argument of the predict function is not changing. Its a stacked value defined above as -
images = np.vstack(images)

This same prediction is being appended into images_data
Assuming your prediction is not failing, it means every prediction is the prediction on all the images stacked in the images_data.
So, for every iteration for i in range(len(images_data)):
This images_data[i][0] is returning you the 1st prediction only.
Changing to for i in range(len(images_data[0])): and images_data[i] should work