Child themes are not required.
A Child theme is a very nice to have, and in many places that describe proper theme development and modification strongly recommend that you use one. Therefor it is not surprising that people that do a shallow research on the topic get the impression they are required.
But child themes is one of the cases where core developers forgot that they are smarter than most wordpress developers. At the base of the concept stands the assumption that not only it possible to override aspects of the theme by using a child theme, but also that any future update of the theme will be backward compatible and will not break the child.
But only few themes stand by this high standard and most themes especially on themeforest will change on upgrade the html or api in a meaningful enough way to break child themes, making the point of doing achild theme in the first place null.
So in theory child theme is a must, in practice is a waste of time most of the time.
But it sounds like a legal disagreement you have with the client, so maybe for future projects it will be better to ask first if a client wants a child theme (why should you care if it is a waste of time as long as he pays).