Adding driver through python doesn't work properly?
I think this is a limitation of the current dependency graph.

The way I would handle it is to add a custom property to the object, than add a driver to the array count that uses the custom value, set this other driver to also use the custom property.

As answered in the comments, you also need to overcome the chicken and the egg theory when creating drivers.

Edit


Add a new custom property to the object. in the UI you click the add button, in python there is nothing special, you just give the property a value and it gets created.

bpy.data.objects['Cube']['myControl'] = 1
Add a driver to the count value of the array modifier





Add the same driver settings for the other item that previous read modifiers['Array'].count


Now when you change the myControl value, both items will use the same value. You can create a panel wherever you like to display the custom property or add it to an existing panel.