Let O be a computable ordering of all computable reals in ⟨0,1) (eg. first by length of programs computing them and then lexicographically). (it does not matter that they appear there more than one time).
It seems to be possible to produce a computable real not in this ordering by diagonal argument, using a deterministic algorithm to produce the non-matching digit.
What is the error in this reasoning?
The error is that the computable ordering you want does not exist. You can easily order programs as you suggest, but since you can't computably determine which programs actually define real numbers, that doesn't help.