"a person who seeks to correct social ills in an idealistic, but usually impractical or superficial, way," 1650s (as do-good), in "Zootomia, or Observations on the Present Manners of the English: Briefly Anatomizing the Living by the Dead. With An Usefull Detection of the Mountebanks of Both Sexes," written by Richard Whitlock, a medical doctor. Probably used even then with a taint of impractical idealism. Modern pejorative use seems to have begun on the socialist left, mocking those who were unwilling to take a hard line. OED has this citation, from "The Nation" in 1923:
The form do-gooder appears in American English from 1927, presumably because do-good was no longer felt as sufficiently noun-like. A slightly older word for this was goo-goo.