Hi,
may I..
(cons '1 client) - quote numbers works, but is not needed, numbers evaluate to themselve
(cons 1 client)
(entmod (subst (cons '1 client) (assoc '1 sube) sube)) - can work and can also fail, if someone edited the multiline attributvalue by hand, this code will not change the value
(entmod (subst (cons '1 client) (assoc '1 (reverse sube)) sube))
and I added IF-effectivename, so that anonym blocks variants of bname blocks be processed only.

(defun c:applyClient (/ BNAME TAG client ss ctr ename subent sube)
(setq BNAME "attriba*") ; const
(setq TAG "client") ; const
(if (and
(/= (setq client (getstring t "\nClient name: ")) "")
(setq ss (ssget "_x" (list '(0 . "insert") (cons '2 (strcat BNAME ",`*U*")) '(66 . 1))))
)
(progn
(setq ctr 0)
(foreach ename (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))
(setq subent (entnext ename) sube (entget subent))
(if (wcmatch (strcase (vla-get-EffectiveName (vlax-ename->vla-object ename)))(strcase BNAME))
(while (/= (cdr (assoc '0 sube)) "SEQEND")
(if (eq (strcase (cdr (assoc '2 sube))) (strcase TAG))
(progn
(entmod (subst (cons '1 client) (assoc '1 (reverse sube)) sube))
(setq ctr (1+ ctr))
); progn
); if
(setq subent (entnext subent) sube (entget subent))
); while
); if
); foreach
(cond
((= ctr 0)
(prompt "\nNo attributes found to update.")
); case
( t
(prompt (strcat "\n" (itoa ctr) " attribute(s) update."))
); case
); cond
); progn
); if
(princ)
)
@h_s_walker
Does it work now?
Have your tried my basic solutions too and does they work as expected?
Come on! to keep one's fingers crossed
All the codes(some, with edits) and workaround working in your given .dwg sample