So what is happening is your hidden output from the lstm is a tuple made up of both the hidden state and the cell state. The lstm has three outputs, the output of the model, the hidden state, and the cell state. When you put only two variables one becomes a tuple that includes the hidden and cell state. If you only want to repeat the hidden state just add another variable for the cell state like this:
    output, hidden, _ = self.lstm(x.float())