Alright, let's break this down and ask some more questions here.
Right now allies with shields are getting two attacks still. My version of the plugin was modified using your advice, so that I could have more attack hits beyond the dual wielding ability.
Does this specifically happen with the default version of the plugin as well, or only with the modified version you're using? I don't expect the modification is the cause, but it's always nice to rule something like that out right away.
Secondly, are your shield equips actually shields? If you coded them as weapons, the plugin will see them as weapons, and will cause a dual wield attack with them. I suspect this is the issue, because if the shield wasn't a weapon, there'd probably be a crash when the engine goes to load weapon data from a shield item during an attack.
I have it set so that bare hands can also be used as weapons.
This is the default functionality of the plugin, so I don't suspect this is the problem, as a lot of my testing involved the ability to make offhand attacks with an empty hand.
I noticed that the plugin was not below Damage Core as the instructions specified, but that should be fixed now.
Okay good.
I am using auto passive states to give characters the dual wielding trait.
This should be fine too, as long as the way they're getting the state isn't by having it on a weapon. During the attack process, weapons (and shields actually) are unequipped for an instant to show the correct weapon animation. In retrospect, there were probably better ways to do this, but this is what worked at the time. If your passive state for dual wielding is on one of their weapons, when it is unequipped, they are no longer dual wield type, and the engine stops processing my extra attack functions, because it no longer sees a dual wielder.
Is there a way to stop shields from giving additional dual wielding attacks?
The plugin doesn't do this already, or shouldn't anyway. I think this is some sort of misconfiguration, either your shields are coded in the database as weapons, which isn't necessary, as shields can be wielded by dual wielding actors using this plugin, or something with the passive state is causing the offhand to become unequipped during the action sequence, causing the extra barehanded strike to happen.
Edit: I am also using action sequences for dual wielding, such as for a double strike skill. Two attacks should become four, but when barehanded, the ally has several attacks. Not sure what is going on with that.
This is probably a whole other thing, and might also be the reason you're having problems.
The action sequence parts of the plugin are kind of specific, and if you don't craft them the exact right way, it can cause some wonky results.
First, the normal attack skill:
For a normal actor, with one attack (attacks++ is 0), it will strike once.
For a dual wield actor, or for a non dual wielding actor with attacks++ of 1, the <target action> section of the action sequence will repeat once.
With your modification, an actor who is dual wielding and has attack++ of 1 will repeat the <target action> section twice. And so on.
For skills, though, I have an entirely different thing set up, and I'd need to see your action sequence to be sure that's what the problem is, but the gist of it is that there are certain commands you put in it, and it runs them multiple times if the actor is dual wielding. This allows you to only repeat certain parts of the sequence, not the whole <target action> section, to allow a bit more fine control over other stuff that might be in that section. If you don't use those commands, the skill won't repeat at all, even if you tag it as dual wield. And if you manually make it hit multiple times, instead of using the commands, then it will hit multiple times regardless of whether or not the target is dual wielding.
Anyways, the first thing to try is to see if this happens with the unmodified plugin, and then check that your shields are configured properly, and lastly have a look at your action sequences, and maybe post one here so I can double check them.