The Ages of Zodiac, caused by the Precession of Equinoxes can explain why horns are associated with the Devil. A the time of Jesus suposed birth, 2000 years ago, the age of Aries (ram) was ending and the age of Pisces (fish, the current age) was beginning. What is one of the symbols of Jesus? Fish. It was common for new religions to vilify old gods, we can read about this in the Bible, when Moses shatters the bull statue (at that time the Age of Taurus was probably in decline). And so Christianity took the symbol of the past age, the ram's head, more precisely the horns, and associated it with the Devil. That's all there is to it. Seeing as each age lasts a bit over 2000 years, we can predict Christianity is also soon to be replaced by some other belief system. And in fact, we are observing its decline..
The next age is the age of Aquarius, by the way.