Best approach to design a database model for this situation? Clients and records
You should organize the data according to its cardinality.

If you have one header and one footer per client, then these columns can be part of your client table.  Since there are clearly multiple body records per client, these should be kept in another table.

If you can have multiple records per client, then your "with hierarchy" model is not bad, although it could be simplified to collapse the Header and Footer into Record since there is only one header and one footer per record.

Your "without hierarchy" model is less desirable.  If you have multiple records per client it won't tell you which headers/bodies/footers go together.  If you have only one record per client, then having separate tables for header and footer is overkill for the same reason as I noted above for the "with hierarchy" model.

This is what I would recommend, depending on how many records each customer can have: