No. There actually are an infinite number of rationals and irrationals between any two rationals or irrationals.
You claimed that sometimes two irrationals have no rationals between them. That's clearly false. For example, if you picked these two irrationals:
Then you can find a rational between them like this. Just truncate the larger number after the first digit where it differs from the smaller number:
That is guaranteed to be a rational that's between the two irrationals. If you prefer rationals written as fractions, then just write it over a power of ten:
And that fraction is guaranteed to be between the two irrationals. So you can never have zero rationals between them.
In fact, by truncating later and later, you can generate an infinite number of rationals, all of which lie in between the two given irrationals. And clearly, the above procedure works, no matter which two irrationals you choose, as long as they're different and positive. And it works with slight modifications for negatives, too.