What should I do if I have two different Discriminator class?

As long as forward and backward on one DDP instance is called alternatively, it should work. So, there are at least two options:

Wrap the two Discriminators into one nn.Module, say CombinedDiscriminator, and then pass the CombinedDiscriminator to DDP ctor.
Create a dedicated DDP instance (with dedicated ProcessGroup instance) for each Discriminator.