Why is pycoin getting the incorrect output address?
The library is assuming you are using main network Bitcoin, so it prints addresses that start with 1. You need to tell the library you are using that you're in testnet mode. 

This seems to be the relevant file: https://github.com/richardkiss/pycoin/blob/master/pycoin/networks.py