Assume that there's lead in the paint and use a shop vac along with a scraper or putty knife to remove any loose or flaking paint. Basically hold the end of the vacuum hose up against the scraper and catch any flakes before they hit the ground. You won't need to get down to bare wood or anything, just knock off anything that's loose.
I would wear gloves and eye protection to prevent injury, but since you'd be dealing with large paint chips as opposed to fine dust (like produced by sanding) and a relatively small surface area, there's not much need for respirators, etc. A shower afterwards might be worthwhile.
Repaint the posts with a coat of primer (especially the bare wood areas) to ensure good adhesion and even coverage. (Zissner makes good primers for use in this situation.) Then apply a couple coats of a good exterior grade latex/acrylic paint. To cover only three posts you might be able to get it done with buying quarts of each paint. This approach should last many years.
Milk paint or tung oil is not appropriate at all in this context. Tung oil wouldn't be used on painted surfaces and would likely inhibit proper adhesion applied under paint. I'm not sure milk paint would stand up to weather particularly well when applied over existing paint or oils.