For boiling the potatoes: Start with cold, well salted water. Bring it to a boil, then reduce to a simmer and cook the spuds for about 35 minutes.
When they're just tender, drain off the water and grab your thickest oven mitts. You want to peel these potatoes while they're hot to absorb the flavor of the dressing. In this case, a component of the dressing, vinegar, salt and pepper.
Now let the potatoes cool in the fridge while you chop the onions and celery, and prepare the hard boiled eggs for the salad. Some bacon bits and or sweet pickles would be great!
Toss all of the ingredients with the mayonnaise and place the salad back in the refrigerator until you're ready to serve.
For the problem of mushy potatoes, boil them with their skins on. This will keep them intact. Start with cold, well salted water. If you pick potatoes that are all about the same size they will cook up evenly. If you peel and cube the potatoes while they're hot and drizzle them with vinegar they will absorb the flavor. They won't absorb any flavor cold.