Why does Taq polymerase add 3' adenine overhangs?
Non-templated terminal addition by certain DNA polymerases is apparently dependent on the base stacking between the incoming base and the existing duplex (Fiala et al., 2007*). This was verified by using a non-base-pairing (but better stacking) nucleotide analogue called deoxyribo pyrene nucleoside triphosphate (dPTP). Adenine seems to have a higher efficiency of base stacking compared to other three bases:  A (1.0), G (0.7), T (0.6), and C (0.5)

It was also verified that the preference for dATP did not depend much on the terminal base-pair of the duplex with the incorporation probabilities being:

79% dATP 16% dTTP, 3% dCTP, and 2% dGTP when the last base pair is A-T (A is 3'), and
81% dATP, 8% dTTP, 8% dCTP, and 2% dGTP when the last base pair is G-C


Fiala, Kevin A., et al. "Mechanism of template-independent nucleotide incorporation catalyzed by a template-dependent DNA polymerase." Journal of Molecular Biology 365.3 (2007): 590-602.

*They had used the Dpo4 polymerase from Sulfolobus solfataricus as a model because it is a known lesion bypass polymerase and its kinetics and structure are well studied.