On a project that is non-billable and marked as overhead, it is not necessary for you to set the Client Hours to zero for the time entries that you have marked as non-billable as they are not being billed to the client in any case. In fact, the Client Hours field can help you track how much revenue you are potentially losing due to the non-billable status of the entries. It gives you an idea how much you could earn if the time was billable. So it is recommended to leave the client hours as they are.
CORE marks automatically all the time entries as non-billable for overhead projects. The billable value of all time entries that are non-billable is zero, irrespective of the value in the Client Hours column. There is no way to turn that off in CORE because it is meant to track hours in case they are billable. So the Billable flag is how CORE determines whether or not to include them in the billing process.
The client hours are important because generally your employees have a bill rate and so you get an idea how much revenue you are potentially losing. CORE uses the non-billable time value to report on some critical KPIs such as Utilization and Realization rates.