I've not looked at the code, but perhaps it is a bug. Since you seem to be able to reproduce, I suggest raising it in ansible modules extra project (using the issue template)
https://github.com/ansible/ansible/raw/devel/ISSUE_TEMPLATE.md
To do so, you might need to check if the service exists already, which you can do something like this (untested)
- name: check if service exists
raw: "Get-Service -Name 'appservice'"
register: appservice_status
ignore_errors: True
Then you'd have to check the stdout stored in the registered appservice_status var to see if it exists.
You could perhaps even use a when: clause so the win_nssm only runs when the service doesn't exist, although that wouldn't ever let you reconfigure the service in the same playbook (which may or may not be important to you).
Hope this helps,
Jon