Extended Euclidean algorithm and modular multiplicative inverse element
This looks like a bug in the input validation:


if (args.num_1 == 0) and (args.num_2 == 0):
    print("Please enter two positive integers.")
else:
    print(xggt(args.num_1, args.num_2))
    print(modinv(args.num_1, args.num_2))



The message "Please enter two positive integers." contradicts with the condition:
if both numbers are 0. I think you meant more like this:

if args.num_1 &gt; 0 and args.num_2 &gt; 0:
    print(xggt(args.num_1, args.num_2))
    print(modinv(args.num_1, args.num_2))
else:
    print("Please enter two positive integers.")


I also removed redundant parentheses.

You had redundant parentheses in other places too:


    return(num_2, 0, 1)
    # ...
    return(gcd, lin_fact_2, lin_fact_1)



These are all unnecessary, so I recommend to remove them.

You can simplify x = x - ... with x -= ..., for example here:

# instead of this:
# lin_fact_1 = lin_fact_1 - num_1 // num_2 * lin_fact_2
lin_fact_1 -= num_1 // num_2 * lin_fact_2


Other than these minor issues, I think this is good and clean code! The names seem quite fine to me.