But people can't simultaneously believe "I shouldn't do X" and "I should do X", as in "I shouldn't eat meat" and "I should buy this chicken".
I don't think that's what Viliam_Bur is saying.
Look at this problem that I encounter every day: I believe that I should learn how to program, and yet I end up playing Team Fortress. This can be because of laziness or akrasia or because I've spend my willpower for other things.
The same thing can happen for broader moral considerations. If you believe eating meat is wrong, you can still end up eating meat if you have a strong craving, don't feel like arguing with the person cooking your meal or any other reason.
For perfect rationalists, acting in accordance with your moral values is easy and takes no effort. Unfortunately, this isn't the case for humans.
I don't think akrasia can apply to the area traditionally considered to be morality. If you believe doing something would be evil, that feels different from it being merely suboptimal and harmful to yourself. For example, you like playing TF2, even though it may be a suboptimal to play it at times, but even though it's a habit, you'd instantly stop doing it if, say, the player avatars in TF2 were real beings that experienced terror, pain, and suffering in the course of gameplay. It stands to reason that eating meat would be the same.
Neal Stephenson's The Diamond Age takes place several decades in the future and this conversation is looking back on the present day:
I'm not sure if I agree with this characterization of the current political climate; in any case, that's not the point I'm interested in. I'm also not interested in moral relativism.
But the passage does point out a flaw which I recognize in myself: a preference for consistency over actually doing the right thing. I place a lot of stock--as I think many here do--on self-consistency. After all, clearly any moral code which is inconsistent is wrong. But dismissing a moral code for inconsistency or a person for hypocrisy is lazy. Morality is hard. It's easy to get a warm glow from the nice self-consistency of your own principles and mistake this for actually being right.
Placing too much emphasis on consistency led me to at least one embarrassing failure. I decided that no one who ate meat could be taken seriously when discussing animal rights: killing animals because they taste good seems completely inconsistent with placing any value on their lives. Furthermore, I myself ignored the whole concept of animal rights because I eat meat, so that it would be inconsistent for me to assign animals any rights. Consistency between my moral principles and my actions--not being a hypocrite--was more important to me than actually figuring out what the correct moral principles were.
To generalize: holding high moral ideals is going to produce cognitive dissonance when you are not able to live up to those ideals. It is always tempting--for me at least--to resolve this dissonance by backing down from those high ideals. An alternative we might try is to be more comfortable with hypocrisy.
Related: Self-deception: Hypocrisy or Akrasia?