Maybe you just got unlucky.
You could add a weight init scheme to your code to stabilize the training:
def weight_init(m):
    if isinstance(m, nn.Linear):
        nn.init.xavier_uniform_(m.weight.data)
       m.bias.data.zero_()

model.apply(weight_init)

I got in 8 out of 10 runs a perfect score.