ec2_tag does not take AWS credential keys from environment variable

I am trying to use ec2_tag in my playbook and it failes with Authetication error " No handler was ready to authenticate. 1 handlers were checked. [‘QuerySignatureV2AuthHandler’] Check your credentials".
I have set my AWS keys with Environment variables with all combination -
access key : AWS_ACCESS_KEY , AWS_ACCESS_KEY_ID , EC2_ACCESS_KEY
secret access key : AWS_SECRET_ACCESS_KEY , AWS_SECRET_KEY , EC2_SECRET_KEY

However , If i supply my credentials key with ec2_tag like below , it works:
ec2_tag: resource={{ ansible_ec2_instance_id }} region={{ ansible_ec2_placement_region }} state=present ec2_access_key=XXXXXXXXXXX ec2_secret_key=XXXXXXXXXXXX

Clearly , it is not good practice pass credentials keys with code.

Does anyone faces same problem or have any clue why its failing?

It seems that there is already an open bug : https://github.com/ansible/ansible/issues/9984

Yeah… and if I’m not mistaking the Issue should be created here: https://github.com/ansible/ansible-modules-core