As far as I can tell, Ansible's iam_policy module doesn't work with an assumed IAM role due to a limitation of the underlying boto library.
This gist provides a workaround, which works by just running assumed-role-credentials.py before running the playbook which calls the aws_s3.yml tasks.