Since you've had the client for a year, the way you interact is unlikely to change. Especially when you directly enable it by accepting to do free work.
You need to decide whether working for this client in the manner you describe would be OK if you were payedpaid for 100% of your time. I'm assuming it would be.
It seems you are working on a never-ending sequence of smaller fixed-price projects. This obviously needs to stop, as fixed-price only works if the target is not constantly moving. You'll have to change the general terms from fixed-price to an hourly rate.
Initially, the client will be skeptical or downright refuse - to which your counterargument should be that due to the continuous scope-creep, any fixed price estimate from now on will include considerable 'financial padding' to minimize your risk. Insist on setting an hourly rate or massively increasing the fixed-price estimates.
In addition to getting payedpaid, a fixed hourly rate could perhaps modify the client's approach to a more structured one - to the benefit of both parties.
And - if you don't already have it - get your general terms down on paper. No need to involve lawyers - but set the expectations of both parties on a single page. My experience is that clients tend to take documents they have signed more seriously - regardless of whether they are legally binding or not.