Now the call site will get "ValueError: too many values to unpack". Namedtuples don't solve this problem, of course. But they don't make anything worse either.
The better approach, of course, is to document the API as only using attribute access, not positional. I reckon dataclasses from the start could address that concern... but so can documentation alone. E.g.:
Old version (improved):
mydata = namedtuple("mydata", "a b c")
val1, val2, val3 = ret.a, ret.b, ret.c
New version (improved)
mydata = namedtuple("mydata", "a b c d e")
return mydata(a, b, c, d, e)
Now the call site is completely happy with no changes (assuming it doesn't need to care about what values 'ret.d' or 'ret.e' contain... but presumably those extra values are optional in some way.
Moreover, we are even perfectly fine if we had created namedtuple("mydata", "e d c b a") for some reason, completely changing the positions of all the named attributes in the improved namedtuple.