More than 20 die in Iraq, including US soldier