Answer from the OpenZeppelin Community Forum: https://forum.openzeppelin.com/t/proxy-that-routes-to-multiple-logic-contracts-based-on-param/2595/2
Is there a reason that you can’t use OpenZeppelin upgradeable contracts and just have a single logic contract? See Upgrading Smart Contracts Learn guide. I would suggest looking at this first to see if it meets ...
When you deploy a contract with Remix (and any client capable of deploying a contract) you need to give the contract the required constructor arguments. In your case the required arguments are:
These values can be given only when deploying the contract and therefore only once. ...
In contract DemoContract is ERC20,ERC20Detailed,ERC20Burnable,ERC20Mintable, ERC20Pausable:
Each one of contracts ERC20Detailed, ERC20Burnable, ERC20Mintable and ERC20Pausable already inherits from contract ERC20, so you should not inherit from this contract as well.
For example, compiling the following code gives the same error as yours:
pragma solidity ...