It is easier to say what makes peregrine eggs red than to say why they lay red eggs instead of white ones.
Peregrine eggs vary from a creamy color overlaid with red blotches to a deep overall red as shown here. The intensity of red varies among female peregrines and from egg to egg within the clutch.
Studies have found that the color is not laid on at the last minute but is an integral part of the shell. Egg shells are made of calcium carbonate so all eggs would be white if some birds did not add color during shell formation.
The red color comes from a pigment called protoporphyrin. A study of songbird eggs discovered that this substance strengthens egg shells and that songbirds deposit more of it on spots where the shell is thin. This explains the wreaths of red spots on songbird eggs, but doesn’t necessarily explain peregrine egg color. The good news is that protoporphyrin strengthens the shells so it would be an advantage for these relatively heavy birds who lay their eggs on gravel.
Another possible reason why peregrine eggs are red may be for protective coloration. Birds who lay their eggs in holes or dark places always have white eggs, while the eggs of ground-nesting birds usually match the nest background. Since peregrines nest on gravelly cliff ledges it may be that red makes the eggs less noticeable to predatory birds.
But these are just guesses. I have not been able to find a study that answers the question “Why?”
(photo from the National Aviary webcam at University of Pittsburgh)