The famous saying, "You can only hate someone you loved," seems to hold true in this situation. Angel was Buffy's love interest and audiences loved Angel and Buffy as a fictional television couple. Many people were very upset that Angel broke Buffy's heart and turned evil and this left them with more ill feelings towards Angel than would just any other evil character. Someone that hurts Buffy hurts thousands of viewers who watch the show and love Buffy. I think that this is the main reason why Angel is considered to be the number one villain on the show.
Spike, on the other hand seemed to be very evil when he was introduced to the show, but as Buffy the Vampire progresses, it becomes obvious that he is a much weaker vampire who does not stand a chance against Angel, who is not only stronger and evil minded but who is also better looking on the show. The most evil character is not who can kill or torture the most, but who leaves a greater impact on the emotions of the audience.