required, *args, **kwargs = "Welcome to...", 1, 2, 3, site='stackoverflow.com'
^
Star notation like this generally goes last in an expansion, especially functional invocation or function argument specification. Additionally, you can not assign to it in this way.
[*prefix, 2, 3, 4, *mid, 5, *suffix]
Literal forms of certain complex object types (such as list, above, and dictionary) permit expansion using star notation at any point in the expression, and to a degree function invocations do, too. In argument specification where you are declaring the desire for "unlimited information", these notations have additional meaning and consequence.
def foo(bar, *baz, diz): ...
diz is now name-only and can not be passed in positionally. Without a default value, it is now a required named argument. Because being able to declare arguments as keyword-only is actually quite useful, and accepting and stuffing additional positional arguments into an unused variable a bit of an anti-pattern, PEP 3102 — Keyword-Only Arguments was written up and accepted to formalize using just a *, bare, to specify "everything after this point is keyword only". Additionally, there is a / marker to denote the separation between positional-only, and positional-or-keyword: the reverse. Reference.
Boils down to: literal expansion notation and argument specification notation mean and do different things.