Yes, in your approach you would clone the reference to one model and thus all nrworkers models would refer to the same parameters.
My approach initialized nrworkers different models, which is your desired behavior, if I understand the use case correctly.
Here is a small example:
# reusing the same model
models = [nn.Linear(1, 1)] * 2
print(models[0].weight)
> Parameter containing:
tensor([[-0.1335]], requires_grad=True)

print(models[1].weight)
> Parameter containing:
tensor([[-0.1335]], requires_grad=True)


# manipulate inplace
with torch.no_grad():
    models[0].weight.fill_(0.)

print(models[0].weight)
> Parameter containing:
tensor([[0.]], requires_grad=True)

print(models[1].weight)
> Parameter containing:
tensor([[0.]], requires_grad=True)

# creating separate models
models = [nn.Linear(1, 1) for _ in range(2)]
print(models[0].weight)
> Parameter containing:
tensor([[-0.7255]], requires_grad=True)

print(models[1].weight)
> Parameter containing:
tensor([[0.4155]], requires_grad=True)

# manipulate inplace
with torch.no_grad():
    models[0].weight.fill_(0.)

print(models[0].weight)
> Parameter containing:
tensor([[0.]], requires_grad=True)

print(models[1].weight)
> Parameter containing:
tensor([[0.4155]], requires_grad=True)

As you can see, the parameters will be the same in your approach and also inplace manipulation are reflected on all copies of the model, while this is not the case using my approach.