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 in quarters or in half, 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.
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.