Actually, nn.Module is a OrderedDict and a python code can change it by traversing over keys/values in this dictionary. Here is an example:
from collections import OrderedDict
model.__dict__['_modules'] = OrderedDict([('new_backbone_name', v) if k == 'backbone' else (k, v) for k, v in model.__dict__['_modules'].items()])