Yeah that's the part confusing me. I understand unlimited - 7 is still unlimited, but unlimited = 2 is something different.
If you know something about programming (or math), this might be a better way to think about it:
Normal State: Hand Size = 7 (A player's hand size is limited to 7 cards.)
What Reliquary Tower does: Hand Size = Nil (A player's hand now has no size limit.)
What Jin-Gitaxias does: Hand Size = Hand Size - 7 (A player's hand size is now seven cards fewer.)
What Recycle does: Hand Size = 2 (A player's hand size is now limited to 2 cards.)
With Reliquary Tower + Recycle, the newest one wins because they're each setting a new value for the "Hand Size variable", and each change overwrites the old one.
With Reliquary Tower + Jin-Gitaxias, the Tower wins because {} - 2 is still {}.