It seems you are setting n_classes to 2 while creating the module, but are never using it inside the module.
For a binary classification use case you could either use an output layer returning logits in the shape [batch_size, 2], treat it as a 2-class multi-class classification, and use nn.CrossEntropyLoss, or alternatively return logits with the shape [batch_size, 1], treat it as a binary classification, and use nn.BCEWithLogitsLoss.
The logits could probably be created by the nn.LSTM module or you could use an additional nn.Linear layer, which would take the lstm outputs and return the logits in the desired shape.