Sir Keir Starmer has faced a backlash over his “weak” stance on Iran after initially blocking the US from using British military bases to attack the country.