Boil potatoes till tender. Drain, peel and dice to desired size. Transfer to a large bowl and toss with the onion, celery, salt and eggs.
While potatoes are cooking, whisk together the beaten eggs, sugar, cornstarch and salt. Stir in the vinegar, evaporated milk and mustard. Cook over medium heat stirring until thickened (about 10 minutes). Remove from heat and stir in the butter. Refrigerate until cool then stir in the mayo.
Gently add the dressing to the potato mixture until coated. Chill several hours or overnite.