Oh I actually don't hold the attempted rape against Spike as such - it's the handling of it by the writers I don't like. We know Spike has raped other people. He tells us this 'do you know how much blood can drink from a girl before she dies - so she'll still cry when you ... because it;s not fun if they don't cry. Do you know what I've done to girls Dawn's age?' He's a murderer, he's a rapist, he's evil - and I love him as a villain. But when they use his attack on the protagonist as a learning curve for him, use it as the springboard for his redemption and don't actually deal with the true fallout of what he did ... that's a deep problem in the writing.
We see his guilt and shame as he has flashbacks in his crypt, we follow him as he gets his soul, we watch him weep with the horror of what he's done once he has his soul (good god that scene in the church is just cringe inducingly awful) and then he builds a new relationship with Buffy.
Buffy sits on the bathroom floor for an unspecified length of time and then has to go out and defeat Warren. The next morning she's just lalala checking for cameras in the garden when she gets shot. She doesn't mention what happened to her for the rest of the season. We get a whisper of her trauma in the second episode of s7 when Spike hands her the torch and she has a bit of a flashback and flinches. But we actually get far more of Xander and Dawn throwing the rape in her face than we do of her processing it or dealing with it.
Buffy is given no time to process at the end of s6, whilst the whole ending of s6 for Spike is him processing. It's a nothing of a story line for her that goes no where, whereas it is the beginning of Spike's redemption arc.
Spike being evil isn't a character flaw, it's part of who he is as a vampire. It's the treatment of his journey from villain to hero that is ... terrible.
Willow on the other hand is just a bad person. She wasn't under the influence of the dark magicks when she was going to do the delusting spell on her and Xander and not tell him about it. She wasn't under the influence of the dark magicks when she was going to curse Oz to never feel love and happiness again because he had cheated on her (as a werewolf - ignoring the fact she had cheated on him and he had forgiven her whilst she had full control of her faculties.). She wasn't under the influences of dark magicks when she encouraged Dawn into looking up how to resurrect Joyce, despite Tara explaining how awful that was. She wasn't under the influence of dark magicks when she refused to accept that Buffy was dead and insisted on bringing her back and convinced the others to go along with it. (side note - Tara has stated how awful and against nature resurrection is and now she is here a few months later going along with it. We see later that Willow has a lethe's bramble just handily lying on her dresser when she makes Tara forget the argument in the Halloween episode. Funny it was right there - unless she had used it before. Like, say, to make Tara agree to resurrect Buffy). She wasn't even under the influence of the dark magicks when she made the choice to go and absorb all the dark magick in the magic store.
That is who Willow is - a person who doesn't think rules apply to her, doesn't think other people's consent is important, isn't interested in the consequences of her actions and is actually quite drawn to vengeance (as Anya points out D'Hoffryn offered Willow her old job). And that's all fine as a character flaw to make her interesting and real. But the problem is she never pays for any of this. She is never represented as the psychopath she is. She is portrayed as cute, sweet, Willow - she's probably most people's favourite character because of the cute, sweet side of her. She is genuinely awful without it ever being acknowledged in the text - and her bad deeds are waived away by fans as 'Warren deserved it' or 'she was taken over by the dark magick'. No, she is an awful person who towards the end adds murder and rape to her resume and never pays for that. They don't treat her like a murderer afterwards. They don't treat her with the contempt a person who is altering their minds and removing their free will deserves. She's treated like cute, sweet Willow. When Amy actually does call her out on it, it's Amy who is the villain of the episode!
That's why she (among others) are a problem. Not because she's flawed and 'real' but because the flaw isn't acknowledged. Meanwhile how much shit does Buffy take because sometimes she prefers to act alone?
Xander can be truly questionable but the worst he ever really is is entitled male. That's a genuine 'real' flaw and would make him 'realistic' in the way that people seem to like in their characters. It doesn't, though, because in the show it's never acknowledged and he never pays. But he should rank way below Willow on the problemometer ... but in the fandom he is the one that gets ripped apart. Because cute, sweet Willow. And Angel and Spike are hot.