It depends on how long it takes your full build/test cycle to complete.
Nightly builds make sense if the full build/test cycle takes more than minutes to complete. If your test cycle takes a few minutes or less, you can probably run all of the tests on all of the branches after every commit. There are plenty of valid reasons for a full test cycle to take more than a few minutes, especially once you start including integration and system tests that have additional dependencies or test timing requirements.
Given this, one option would be to run the nightly build on all branches.
However, that doesn't necessarily make sense. In a workflow like gitflow, feature branches are often work in progress. If work takes more than a day, work could be committed into a feature branch that is incomplete. The incompleteness could cause failing tests or it could be related to a lack of test coverage of the new feature, resulting in false failing or false passing tests. These false indicators don't add much value.
Another option could be to significantly reduce the scope of feature branches, using techniques like feature toggles or keystone interfaces, which would allow you to integrate your work into the develop branch (or even deploy) while hiding the work. The two can be combined by having the feature enabled in the feature branch, but not merging the enabled feature flag or keystone interface until after the feature branch is done and enabled. You would need to account for ensuring test coverage as you develop the feature, and perhaps even enable the feature flag during your CI builds and tests.
Ultimately, though, I would push back on why your customer wants to be so hands-on with your development process. I'd figure out why they care about your builds, which are primarily for developer feedback. If they have questions or concerns, there may be better ways address those than changing your workflow to run nightly builds on work-in-progress.