This has very little to do with rational numbers themselves. You apply the diagonal argument to construct a number that is not on the list. Now the only reason that you must have produced an irrational number is that all the rational numbers are on the list, so it cannot be any of them. There is nothing intrinsic the construction that favours irrational numbers: if just one rational number were missing from the list, it might be that you have constructed just that number.
Added. Actually, now that I think about that, it is not true: in order for given some rational number to be the result of the diagonal procedure, there are a great many (other) rational numbers that must be absent from the list. Assuming decimal notation and for simplicity a rational number without terminating decimal representation, there are for every digit position $9$ rational numbers that differ from it only in that digit position. Of those, only one can be on the list, and only if it occurs at the exactly right position. So an infinite number of those "neigbours" need to be absent from the list. And even if one assumes binary notation (with only one neighbour per digit position), there must be one neighbour absent for every non-neighbour that is on the list (because the position of the former is taken), still making for a requirement of infinitely many rational numbers from the list. All this is related to the fact that modifying a rational number in a single position will not make it irrational. Curious!