You write: Does anyone know what I am doing wrong here?
To make it clear: CLOS does not support that. You can't have different numbers of required arguments in method parameter lists of methods of a single generic function. Dispatching works over the required arguments only. Common Lisp does not support 'overloading'.
INITIALIZE-INSTANCE
is defined with this syntax:
initialize-instance instance &rest initargs &key &allow-other-keys => instance
All methods take one required argument, the instance. Dispatching is only done over this object. It then allows various keyword arguments - no dispatching is done for them.
So you need to agree on the numbers of required arguments your generic function should take and call it that way in your code.
See the CL Hyperspec for the rules: Congruent Lambda-lists for all Methods of a Generic Function.