Becase your code only modify DXF code 10 of the attribute, but the attributes may have justification type such as MiddleTop, MiddleCenter etc. In some justification types, modify DXF code 10 will not take effects, you need to modify DXF code 11 instead.
So in your (done_dialolg 10) codes, please check the attribute justification type or directly use VLISP (use VLA-Object's vla-getboundingbox function to get the move-from-point, and then use vla-move to modify the attribute, then update the parent block.)