The _make_branches method seems to take already initialized modules and creates nn.ModuleLists using them.
Since each of the passed layers will contain the same parameters, it’s expected that the output would be the same.
If you want to create branches with new layers, you would have to initialize new modules before adding them to the nn.ModuleLists.