The rewrite rule added by:
add_rewrite_endpoint( 'my-endpoint', EP_AUTHORS );
is
author/([^/]+)/my-endpoint(/(.*))?/?$
=>
index.php?author_name=$matches[1]&my-endpoint=$matches[3]
so it assumes anything after e.g. /author/henrywright/my-endpoint/...
.
You can try instead to replace it with add_rewrite_rule()
e.g.
add_rewrite_rule(
'^author/([^/]+)/my-endpoint/?$',
'index.php?author_name=$matches[1]&my-endpoint=1',
'top'
);