This is a difference in spelling reform, unrelated to pronunciation or meaning. Both the cases you give here (hóa and hoá) represent /hʷa/ in the sắc tone, and both are written and pronounced the same within each style of spelling. The two words are simply homophones, of which Vietnamese has many.
There are two different spelling styles in fairly common use in Modern Vietnamese, often called the ‘new’ and the ‘old’ or ‘traditional’ style. The primary difference is precisely where tone marks are placed: hóa is the old style, hoá is the new style.
To quote from the Wikipedia article on Vietnamese orthography:
While the "old style" emphasizes aesthetics by placing the tone mark as close as possible to the center of the word (by placing the tone mark on the last vowel if an ending consonant part exists and on the next-to-last vowel if the ending consonant doesn't exist, as in hóa, hủy), the "new style" emphasizes linguistic principles and tries to apply the tone mark on the main vowel (as in hoá, huỷ). In both styles, when one vowel already has a quality diacritic on it, the tone mark must be applied to it as well, regardless of where it appears in the syllable (thus thuế is acceptable while *thúê is not). In the case of the ươ diphthong, the mark is placed on the ơ.
As a blanket rule to apply everywhere, the idea that the tone mark should always go on the second-to-last sound is unequivocally wrong in both styles – if nothing else, it’s so broad that it would also entail placing the tone marker over the b in ba, which is quite obviously wrong.
Even limiting it to vowels only, it’s not quite sufficient in either style either. It essentially represents the principle of the old style, but even for that, you still need the added caveat mentioned in the quote that if a vowel already has a diacritic (ê, ơ, etc.), then the tone mark will always go on that vowel, regardless of its position.