You can get approx. the same result, after initializing the nn.Module's linear layer’s weights using a Gaussian distribution.
Try adding this init method to your code and change the learning rate to 1e-6.
def init_weights(m):
    print(m)
    if type(m) == nn.Linear:
        m.weight.data.normal_()
        print(m.weight)
    
model.apply(init_weights)

Additionally, keep the bias=False in your linear layers.