"I feel like I have made a beginner's mistake"
That's an horrible feeling :D. I'll try to help ;)
Are you sure you used the same name for both node ?
"I can connect to port 7000"
There is "10.145.232.190" defined as listen address and you logs says that 220.127.116.11 joined the ring and your second ip seems to be 18.104.22.168... When you stop an EC2 server, its internal ip may change. So I recommend you not to do so, but restart them instead. Anyway you should use instance stores and not EBS, and Instance Store can't be stopped so you won't have this issue anymore. Don't trust ip-10-145-232-190 which is configured at first start in /etc/hostname.
Maybe should you use endpoint_snitch: Ec2Snitch since all your servers are in the same zone. You will have to use privates ip everywhere and comment the broadcast_address
if you do so.
The first node has to start with auto_bootsrap: false, while the 2nd one could use auto_bootsrap: true. Seeds node must be your first node only, a bootstrapping node mustn't be defined as a seed.
"my guess... certainly 30-second timeouts look suspicious"
This is not a timeout but rather a sleep and it is a normal wait while adding a node.
Since your a new user, I guess you have no data. If you want to try some conf you can always "reset" your cassandra node by removing .../cassandra/* (commitlog, data and saved_caches) after stopping Cassandra.
Good luck with this.