This gentleman is a professor of philosophy at Boston College.
I find his argument flawed on two points, but I want to save laying out the second point -- the one I really think is decisive -- until we discuss it in the comments. I would like to talk about the first point, because it touches on an old debate we've had here many times, and it situates Joseph W. and I in strange places.
He argues that evolution cannot be the source of morality, because if it were, moral standards could change in ways that we don't intuitively want to accept. He frames this argument badly, I think, by making it sound like cultural change is an evolutionary process: his example is the current moral norm against slavery, which was not recognized in ancient times. In fact, even in modern times -- in the 1850s, say -- there were very strong advocates for slavery as a positive moral good.
(On the other hand, he treats what would more usually be called "evolution" under the heading "human nature," so what an evolutionary psychologist would say is captured -- it's just captured in a strange place. Furthermore, the point he's making about drifting moral standards holds even in cases of genuine evolutionary change in humanity, should there be any.)
So the problem is that we want to be able to say that slavery is really a moral wrong: and that it is a moral wrong now, and previously, even in the ancient world. The reason we want to be able to do that is that otherwise we can't say that society has improved by banning slavery: it has simply drifted from one norm to another. If it should drift back to slavery, there would be no moral harm to society, because there is no overarching standard against which you can test the proposition.
That lands us in odd places because Joseph W. is a strong advocate for moral progress, but not much given to belief in the supernatural. I have no problem believing in God, but have often argued against the idea that society engages in moral progress: I think that at least most of the time what we take for progress is really just change. Since on any timeline more recent societies are more like us (in terms of ideas about morality and otherwise) than more distant ones, from any perspective you will observe a change from more-distant moral ideas to closer moral ideas to your own moral ideas.
Of course that looks like an arrow of progress! But in fact, it would be true from any perspective. If in a hundred years Americans have decided to re-institute slavery for reasons of their own, they will regard us as further away, the middle-time when the pressures came up that caused the re-institution as a sort of period of progress, and their own time as having the enlightened truth. From their perspective, that is what will look like moral progress.
So one way of answering the mail on this question is to do what the professor does, and hold that it must be that God has given us laws that serve as a firm ground for moral standards. Then we can judge progress fairly, and not become confused by our perspective.
Is there another? I think so, but as I said, I'd prefer to leave it for the discussion.