Ansible - I need to check given services are running in target windows host and if not running need to start the service

You don't need to check whether the service is running in the use case you describe. Just tell Ansible you want the services to be enabled and running as the end-state. In other words, remove the first block and use only the second:

- name: run services
  ansible.windows.win_service:
    name: "{{ item }}"
    start_mode: auto
    state: started
  with_items:
    - BrokerInfrastructure #Background Tasks Infrastructure (BrokerInfrastructure) Service
    - DcomLaunch #DCOM Server Process Launcher Service
    - gpsvc #Group Policy Client Service