You can do this under one contract. For primary sales, you can select a different payment recipient for each sale using our tools (depends on the sale mechanism).
For secondary, we do support manual configuration of per token royalties via the eip2981 spec, but not all marketplaces adhere to it (Eg OpenSea does not support token level royalties yet)