From your description, yes, you would basically have forks of your codebase for each customer and deploy that to a sandboxed staging server.
That would be used for acceptance testing.
Bonus points for having up-to-date data in the staging DB.
I assume this is a multi-tenant implementation.
The other option is to charge the customer to disable unwanted features, in addition to enhanced features.
If it is multi—tenant, having the ability to ‘feature-gate’ could be worth the effort, if you can charge for enabling AND disabling features.