Complementary base pairing
Can't there ever be hydrogen bonds between 2 purines or between 2 pyrimidines?


Yes, it is possible to have hydrogen-bonded base pairs (and triplets and quadruplexes) beyond the canonical Watson-Crick base pairs A:T and G:C. You can explore these in 3D on the DSSR-Jmol site for example. If you look at the 1ehz structure (a tRNA from yeast), which loads automatically on DSSR-Jmol, and click on non-canonical base pairs, you will see some examples. Below is an A:A pair with two symmetric hydrogen bonds from that structure: