Place the potatoes and 2 tablespoons of salt in a large pot of water. Bring the water to a boil, then lower the heat and simmer for 10 to 15 minutes, until the potatoes are barely tender when pierced with a knife.
Drain the potatoes in a colander, then place the colander with the potatoes over the empty pot and cover with a clean, dry kitchen towel.
Allow the potatoes to steam for 15 to 20 minutes. Meanwhile, in a small bowl, whisk together the mayonnaise, buttermilk, Dijon mustard, whole-grain mustard, dill, 1 teaspoon of salt, and 1 teaspoon of pepper. Set aside.
When the potatoes are cool enough to handle, cut them into quarters or halves, depending on their size. Place the cut potatoes in a large bowl.
While the potatoes are still warm, pour enough dressing over them to moisten. (As the salad sits, you may need to add more dressing.) Add the celery and red onion, 2 teaspoons of salt and 1 teaspoon of pepper. Toss well, cover, and refrigerate for a few hours to allow the flavors to blend.
Serve cold or at room temperature.