So the issue is that internet companies lie. Or, technically, it's not a lie - it's "up to" 24 mbps. Which means you might get 30 at 3am and you might get 10 at 7pm when everyone else is streaming...
The result of this is that there's a balance of results vs cost and it matters a lot on how critical your usage is. In my opinion, and maybe our resident expert IP has better knowledge since this isn't my area of work...
For streaming, music takes almost no speed at all (usually 50 kbps - approx 1/500 your theoretical maximum speed). Video takes a lot but it's not too bad due to peering (essentially amazon/hulu deliver content directly to AT&T instead of through weird channels), which means you can use less there as well. On the other hand, downloading files from FTP might actually be noticeably slower.
Personally, I err on getting the higher end of reasonable speeds; for you, I would say 18 before 12, but 12 is fine too. I wouldn't get anything less than 12 given your usage.
For comparison, I have 25 at home, and have used anywhere between 6 (terrible) to 100 (amazing, especially since I got a real 80 during peak hours).
Oh, yeah, your modem / router is often the weak link anyways - plenty of times you might pay for 24 but you're incapable of using more than, like, 16 or so.
With all that said, you can always call them, say you're thinking about canceling. Get that nice promotion again.