Why were James and John called sons of Thunder?
Probably because their father was a loud and thunderous man.
I had heard it was because they were bold and zealous, and almost as if they were willing to look for a fight to die for a cause. Being nick named "thunder’ must mean they were loud and would sound out about something if need be, with no qualms about what others thought. Strong. Willing. Courageous.
They were martyrs for the faith. James was the first to be martyred.
D-R Bible, Haydock Commentary:
Ver. 17. And he called James, &c. The words, he called, are no addition, as they only express the literal sense: they are included in what is said, ver. 13, that he called to him whom he would. — Boanerges, the sons of thunder, or thunderers, is only to express their great zeal. (Witham) — He gave also the two sons of Zebedee the name of Boanerges, (Boanerges) from the Syriac, Benairegesch; or the Hebrew, Beni, sons, regesch, thunder, noise or tumult. In conformity to their name, we find these two apostles asking Jesus, (Luke ix. 54.) wilt thou that we command fire to come down from heaven, to consume them? They spread the fame of the gospel through the whole world. So great was the zeal of St. James, that he incurred the resentment of king Agrippa, and was the first of the apostles to seal the doctrines of Jesus Christ with his blood. St. John also fulfilled the import of his name, as appears from his gospel, epistles, apocalypse, and the sufferings he underwent at Rome for the faith. Sts. Peter, James, and John, were the only apostles to whom our Saviour gave particular names, a mark, perhaps, of his special affection for them. (Tirinus)
Yep. Just cause James and John were devoted to Jesus doesn’t mean they were mild lambs. Even Jesus was capable of driving out moneychangers with a whip.