Hi Srivatsa.
This is a limitation with recursive workflows that I describe int he “Cons” section here: Recursive Workflows in IdentityNow. The way inline variables work prevents us from using objects in the external trigger input. You can only pass the array into the external trigger. So there really is no way to provide additional context, like the role that needs to be removed, in the recursive input. If you know the ID of the role ahead of time, then you could just hardcode that role ID into the recursive workflow so that it will only remove that role from the provided list of identities.
The configuration for Manage Access indicates that only one identity can be selected when removing access. You can only select multiple identities when adding access. This is because the underlying API, create-access-request | SailPoint Developer Community, only allows removing access for one identity at a time.