I see a lot of confusion about this, so I figured I’d explain it and be a helpful person today.
Greenleaf is not Legolas’ last name. The only people of Middle-earth to have surnames are hobbits. Everyone else is simply “So-and-so, son/daughter of [insert parent’s name here].” (In Elvish, this would translate to Legolas Thranduillion, or “son of Thranduil.”)
It is also not an epithet such as Thorin “Oakenshield.” It is literally a translation of his name. That’s what Legolas means. Greenleaf. No one calls him “Legolas Greenleaf” in dialogue, but Tolkien does in the narrative text… So why?
Simply put, because “Legolas” is a weird name. Sindarin was the primary Elvish tongue at the time of LotR, even among Wood-elves. The most common word for “green” is “calen,” while “laeg” is very rarely used. So, there is still an unanswered question! Why is it Legolas, not Laegolas? Because “leg” is actually the Silvan word for green. Wood-elven tongue, rarely used, especially among the (predominantly, if not completely) Sindarin nobility of Mirkwood.
In naming the character “Legolas” and making sure we know what it means, Tolkien actually does something really cool. He makes a statement about who the Wood-elves are and what kind of king Thranduil is. It goes back to when the Sindar first arrived from Doriath and Oropher became king; the Sindar completely immersed themselves in Silvan culture. It’s really neat to see that carried into Lord of the Rings, even in the tiniest details, like a name.
Anyway, yeah. “Greenleaf.” Not a second name, but a translation. (It’s not “Greenleaf Greenleaf.” That’d just be silly.)
This has been an explanation of a thing.