Salut,
pour la première c'est juste une erreur de syntaxe :
Code (cpp):
execute if entity @a[nbt={SelectedItem:{id:"minecraft:iron_ingot"}}] run tp @e[type=minecraft:iron_golem] ~ ~10 ~ facing entity @a
NOTE: j'ai copier tout le reste de ta commande mais je doute que "~ ~10 ~ facing entity @a" soit nécessaire sauf si tu veux que le golem regarde dans la même direction que le joueur ...
pour le deuxième problème il ne s'agit pas d'une erreur d'argument car les ~ ~ ~ corresponde au coordonnée de là où est effectué la command il faut donc exécuté cette commande sur la position de tout les joueurs qui on le critère.
Code (cpp):
execute at @a[nbt={SelectedItem:{id:"minecraft:iron_ingot"}}] run tp @e[type=minecraft:iron_golem] ~ ~10 ~ facing entity @p