Luke O'Neill is the undisputed villain of the piece in The Thorn Birds. A stingy, selfish domestic abuser, he is not likely to be winning any popularity contests anytime soon.
For O'Neill, his wife, Meggie, is nothing but a piece of property, a mere acquisition to be treated however he sees fit. No sooner has he taken her down the aisle than he's putting her out to work as a domestic skivvy and taking control of her finances. For good measure, he shows no interest whatsoever in his newborn baby.
All in all, O'Neill is a pretty unpleasant piece of work, to put it mildly. Under the circumstances, it's no wonder that Meggie loses her mind over a priest. She seeks what she sees as the goodness of Father de Bricassart over the unmitigated evil of her husband.
General Taheri in The Kite Runner, though a deeply flawed character, cannot reasonably be described as villainous. Pompous, yes, officious, definitely, but there's nothing of the villain about the General. If he has one character flaw, it's pride. Back in Afghanistan, Taheri was a big deal, a senior official in the Ministry of Defense. But since being forced to flee to the United States, he hasn't been able to find his place in a society he finds truly bewildering.
Although there's no doubt that Taheri does some genuinely bad things—such as almost killing his daughter Soraya's boyfriend—Hosseini depicts him in a much more complex, much more human way than McCullough feels able to do in relation to the thoroughly nasty Luke O'Neill in The Thorn Birds.