How would keras model learn at every epoch?
The data points are the same, but the model is different at each epoch. Weights are updated at each iteration so they will be different and in turn, the loss function will be different for the same data point at different epochs. What training process does is to change the weights slowly at each run to minimize the loss for the same data smaller and smaller. 

Weights are modified in a way to minimize the error for the data points using an algorithm such as backpropagation in gradient descent. You might also want to check the explanation of backpropagation given by 3B1B in this youtube video.