Михайло Шестаков народився 12 квітня 1990 року у Ладижині (Вінницька область). Вихованець ладижинської ДЮСШ. До 23-річнного віку виступав у складі таких аматорських команд, як «Авангард-Енергія» (Ладижин), «СКАД-Ялпуг» (Болград), "Совіньон" (Таїрове).
У 2013 році підписав свій перший професійний контракт із ФК «Реал-Фарма» (Одеса), який виступав у Другій українській лізі. Захищав кольори команди упродовж трьох років (55 матчів - 8 голів).
У сезоні 2016/2017 перше коло провів в «Балканах» із Зорі, а в другому поповнив ряди одеської «Жемчужини», з якою виграв чемпіонат Другої ліги та підвищився у класі. У дебютному для себе чемпіонаті в 1 Лізі провів за одеситів 26 матчів і відзначився сімома забитими м'ячами.
У 2018 році перейшов до друголігової «Ниви» (Вінниця). Перше коло нападник провів за вінничан, а після зимової паузи прийняв пропозицію рівненського «Вереса», за який в подальшому виступав упродовж шести сезонів і тривалий час носив капітанську пов'язку. За цей час провів за команду 119 матчів у всіх турнірах і відзначився 37 забитими м'ячами. За цим показником посідає третє місце в списку бомбардирів «Вереса» часів незалежності. Разом із рівнянами здобував золоті нагороди Першої ліги у 2021 році. 6 червня 2024 року стало відомо, що клуб не продовжив контракт із бомбардиром і гравець залишив «Верес» у статусі вільного агента.