I'll answer 58m and 59 and then get back to 58f.
58m- This one is sodium peroxide. O2 (2-) is the peroxide ion, each oxygen essentially has a -1 charge but they always come in a pair- O2 (-2). That's why it can't be NaO. The peroxide ion is a tricky one and usually you'll only see it show up in hydrogen peroxide- H2O2.
59c,e,f- with these, it's just like adding a hydrgen (or 2 in the case of di or 3 in the case of tri) to the anion which decreases the charge of the anion. For example-sodium hydrogen sulfide is Na (+1) and HS-1 so you get NaHS. Calcium hydrogen phosphate would be Ca+2 and HPO4(-2) so it makes CaHPO4. In potassium dihydrogen phosphate, you add 2 hydrogens to the phosphate (decreasing the charge by 2 this time). so K+1 and H2PO4-1 makes KH2PO4. If it had been potassium hydrogen phosphate, you would only add one hydrogen so you'd get K+1 and HPO4-2 so that would make K2HPO4.
So now for the oxoacids...
not so bad with a few rules...They always start with hydrogen and have a polyatomic ion with oxygen. Once you recognize it as an acid, follow these rules-
Look at the polyatomic anion. Name it. Then change the ending as follows:
So, for example... HClO4. Ion name is perchlorate so it becomes perchloric acid.
HClO3 Ion name is chlorate so the acid is chloric acid.
HClO2 Ion name is chlorite so the acid is chlorous acid.
HClO Ion name is hypochlorite so the acid is hypochlorous acid.
SO, for HIO, the ion is hypoiodite so the acid is hypoiodous acid. (a weird acid that we don't really use)