Hey There,
You're probably running into an issue with -p if you're just using a plaintext password. It expects the password to be encrypted using the crypt program (apologies if my assumption is incorrect.
One thing I was thinking was that it might be easier to create the script to add the 100 users, but have two lines (or comma separated single lines) with one doing the standard useradd and the other using "passwd" with the "--stdin" option, which you can automate with a pipe,
useradd allYourOptionsExceptPassword user1
echo Myp@ssworD|passwd --stdin user1
Some food for thought anyway. Hope it helps!
Best wishes,
Mike