Sorry to bump this up again but it is a case that has always interested me.
I believe that if they were both killed at all, they were killed on the orders of Henry Tudor. He had the most to lose by them being alive. Richard believed (or found it convenient to pretend he believed) that the boys were illegitimate, making him the rightful king. If they were illegitimate then they were no threat to him. I think it's quite possible that he used this as an excuse to take over because he felt the country would be safer from invasion under an adult king with battle experience (remember he was leading armies, and had lost one of his own brothers in battle, by his late teens).
When Henry became king, he married Elizabeth, the boys' sister, as a political move, bringing the two factions together and ending the Wars of the Roses for good. For this marriage to bring him any prestige, he needed Elizabeth, and by extension her brothers, to be legitimate. But if they were legitimate they had a better claim to the throne than he had. If they were still alive at this point and not in hiding somewhere, having them killed would be a good way of removing this dilemma. We know he had a lot of other people, including the son of another one of Edward IV's brothers, executed as threats to his position. Why not these two as well?
However, I do believe there is a faint chance that neither of them was killed by anyone, at least at that point in their lives. Edward is known to have received visits from a doctor during his time in the tower; there's no record of what was wrong with him, but it's just possible he could have died of natural causes. There are various theories that one or both of them could have been spirited away to live anonymously: not very likely, but we just don't know enough to be sure. Certainly it doesn't seem as if anyone was seriously accusing Richard III of having had them killed until after his own death.