The tricks to achieving very creamy mashed potatoes are to not overcook them and to whip them just until smooth (if you overwhip, they'll get gluey). Serve some of the butter on the side, so guests can determine their level of richness.
AT HOME (UP TO 1 DAY AHEAD)
Cook potatoes in a large pot of boiling water until larger chunks are tender when pierced with a fork. Drain; return to pot and keep there for transport. Pour half-and-half, salt, and pepper into a jar with tight-fitting lid. Put leek, shallot, and green onions in separate resealable plastic bags. Chill all.
AT THE PARTY
Heat potatoes over low heat, stirring often, just until warm. Meanwhile, heat half-and-half mixture in a microwave until very hot. Add to potatoes and heat, stirring occasionally, over medium heat until hot. Using a hand mixer (or put potatoes in a stand mixer and work in batches if necessary), whip potatoes just until smooth and free of lumps (do not overwhip). Transfer potatoes to a serving bowl.
Melt butter in a large frying pan over medium heat. Add leek and cook just until starting to soften, about 3 minutes. Add shallot; cook until softened and butter starts to brown, about 3 minutes. Remove from heat, add green onions, and swirl pan to coat. Pour over potatoes.