You're right that they are 8kB blocks (by default). But it's not read from disk, is more "postgresql asks the OS to give it the blocks". They may come from the disk, but they also may come from the OS disk cache. You can't find actual disk reads and writes from PostgreSQL.
That makes it a bit tricky then.
So my best bet might be running iostat on the physical server and calculating Blk_read + Blk_wrtn for a period (4kb blocks in this case) and using that to estimate how many 16kb IO's that might translate to on AWS's RDS service for a month.
David