Driver reference does not get duplicated correctly for Shape keys

Hi, I’m not sure if this is the right place, but there wasn’t anything specific to drivers and I’m kinda modeling with it, so this might be a good place.

My problem: I want to create a small library of customizable objects using drivers. I use drivers to define the array count and width of the object and such. For the width I used shape keys.
I create custom properties for my drivers which change the specific value. I have to reference the object itself when setting which property to use. Let’s say this object is “Cube1”.

If I now duplicate (Shift+D) this object and have “Cube2” , the drivers get copied. For the driver concerning the array count it gets referenced to the custom property of “Cube2”. BUT for the shape keys it still references “Cube1”.
Is this supposed to happen? How can I tell the driver to always refernce the “self” object?