Place the potatoes in a large pot and cover with water. Add a generous amount of kosher salt (about 2 tablespoons) and bring to a boil. Turn the heat down and simmer until tender (pierce with a fork to check doneness, about 30 minutes). Strain, and allow to cool until you can handle them.
Meanwhile, whisk together mayo (3/4 cup), buttermilk (1/3 cup), fresh chopped dill (1/4 cup), dijon mustard (1 tablespoon), whole grain mustard (1 tablespoon), and kosher salt and black pepper to taste in the bottom of a large bowl.
Set aside about half of the dressing in a small bowl or container. Cover and refrigerate.
When potatoes are cool enough to handle (after about 10 minutes), cut them into approximately 1-inch pieces. Add them to the dressing along with the 2 ribs diced celery and 1/2 cup red onions.
Refrigerate for at least an hour before serving (or overnight). Just before serving, mix the remaining dressing into the potato salad. Garnish with green onions, if desired.
Notes
Money Saving Tip: baby red potatoes are more expensive than large red potatoes. Baby will cook faster, but larger red potatoes will be cheaper.
If you don't have buttermilk, you can mix 1 cup of milk with 2 tablespoons of vinegar. Plain yogurt can also be used. Tip: this works in almost all recipes that require buttermilk, like pancakes.
To make this Dairy-free and Whole30/Paleo compliant, omit the buttermilk and add more mayo with a bit of vinegar or lemon juice, or even pickle juice for added acidity.
The provided nutrition information does not include any added sodium from seasoning to taste, any optional ingredients, and it does not take brands into account. Feel free to calculate it yourself using this calculator or by adding the recipe to Yummly.