The simplest fix for this: give clients proposals that quote an estimated price for the whole project in units of person/weeks, and have your SOW say "time beyond N weeks can be billed at a cost of $X/person/day".
Most of our projects run in week increments.
We do "a couple day" projects sometimes, and somewhat more commonly do projects that are longer than a week but don't end on a week boundary.
If I sell you a day of my time, the remainder of the week is then shot for my more typical N-week projects.
That doesn't mean we round 1 day to a week (nothing is more miserable than being stuck on a project that "morally" already ended but demands that you find something to do for the remainder of the time) but does mean we avoid proposing work that is likely to fragment our schedule.
Now, take that logic and apply it to hours: none of our projects are for N hours. There's no such thing as a "partial day". Almost uniformly we'll just do something and not charge for it instead of billing for half a day.
Furthermore, context switching is brutal to hourly schedules. It can take more than an hour just to mentally switch from one task to another.
So it makes absolutely zero sense to bill hourly.
They'd rather hear that a project will cost them $1,000 and they can assume that is 20 hours @ $50. In reality, it might take me 5-10 hours. They would've balked at a $200/hr rate, but don't blink at the $1,000 project fee.
Working hourly means your own interests are directly aligned against the client's.
But then if the scope and environment and almost everything is crystal clear etc, it's totally doable :)