The forms puoti and puote (obtained from poti and pote by regular stressed open syllable diphtongization) are in fact attested in the early Tuscan and survived in literary Italian till quite late (in fact, arguably till today, even). See for example the famous verse, from Dante's Comedy
Vuolsi così colà dove si puote
ciò che si vuole, e più non dimandare
("So it is wanted where one is able to do what one wants, and ask no more"). And, from the 1912 edition of Il Milione, chapter XCIII
Signore re, aguale ben puoti vedere che tu non se’ da guerreggiare con meco.
The passage from puote to può is in line with the elision of many final -te and -de in Italian: from cittade to città and from virtute to virtù.
It is a bit harder to explain how to go from puoti to puoi. I was unable to find a solid indication of the reason for this change in the literature (Röhlfs simply says it is a "simplification"). The best conjecture I can make is that this is by analogy to the (regular) form vuoi of volere. This is supported by the existence of an archaic third singular form puole or pole clearly influenced from vuole that survived in various regional languages (cfr. pòle in Pisa, pöl in Turin, pòle in Treia (Marche) and pól in Venice).
It is not impossible that this passed through an uncertainly attested *puoli (by analogy with the archaic vuoli), which lost the intervocalic l as it happened for many other words. Of course analogic pressure from può cannot be discarded either.