What to use interface or union?

Why not combine Thing and Member into a single interface if every type that implements one of them always implements the other? This is true with the schema you provided, but maybe you have more schema than provided.

Yes, you answered to yourself. I can have ofr example type Poduct that is only Thing.

To get the API you desire, you may have to relax some of the required ! fields and combine the interfaces together.

Removed ! in Thing near name, and copied it to Member.
I got

{
    "errors": [
        {
            "message": "resolving updateGQLSchema failed because input:12: Field Person.name can only be defined once.\n (Locations: [{Line: 3, Column: 4}])",
            "extensions": {
                "code": "Error"
            }
        }
    ]
}