Plain Python lists won’t register the module properly, so that e.g. model.parameters() will not return the internal parameters of the submodules in this list (and thus your optimizer won’t get them).
You shoud use nn.ModuleList instead as described in the docs 12.