Each of Rowling's characters have a wide range of both positive and negative traits and do both good and bad things. It's what makes her characters seem so real.
Dumbledore says something else, too, that's odd. He specifically states that Harry must die by Voldemort's hand. Why would this be true? At first, the reader might think its a requirement for the horcrux to be destroyed. However, multiple characters have destroyed horcruxes by themselves before, and the only stated requirement needed as that the object that is the horcrux must be destoryed beyond repair. Killing a human host seems like it would destroy the horcrux - as killing Nagini, Voldemort's snake, destroys Voldemort's final horcrux. So what's the difference?