Николай Захарчук родился в 1923 году в Хмельницкой области на Украине в семье крестьянина-бедняка. До 1940 года он учился в школе, где окончил восемь классов. В 1941 году вместе с родителями переехал в деревню Новый Кавдык Ялуторовского района Тюменской области, где начал работать в колхозе.
5 октября 1941 года Николай Захарчук был призван в армию Ялуторовским военным комиссариатом. Он воевал в лыжном батальоне на Брянском фронте. После ранения был направлен на курсы младших лейтенантов, которые окончил в августе 1942 года. По окончании курсов его направили на Воронежский фронт, где он стал командиром стрелкового взвода.
В августе 1943 года войсковые соединения фронта перешли в наступление и к середине сентября вышли к Днепру севернее Киева. 29 сентября 1943 года взвод Николая Захарчука одним из первых форсировал Днепр в районе села Вышгород и захватил плацдарм на западном берегу реки, успешно отбивая контратаки немцев. Затем последовал бой в районе кирпичного завода, где Николай был тяжело ранен и попал в плен.
Его считали погибшим, и Указом Президиума Верховного Совета СССР от 10 января 1944 года ему было посмертно присвоено звание Героя Советского Союза.
18 ноября 1943 года, в день, когда генерал Ф. И. Голиков подписал представление к присвоению Николаю Захарчуку звания Героя, в немецком лагере на него завели карточку военнопленного. Находясь в плену, Захарчук планировал сбежать к своим, поэтому согласился на мнимое сотрудничество с фашистами.
Его направили для подготовки в школу абвера «Сатурн». Оказалось, что в этой школе в качестве инструктора действовал советский разведчик, который поддерживал связь с Центром. Зная о том, как Захарчук попал в плен, он доверился ему и получил надёжного помощника в своей работе.
В апреле 1945 года Николай Захарчук был передан советской стороне союзниками, в чьей полосе наступления оказался «Сатурн». Военный трибунал Смоленского военного округа признал его изменником Родины и приговорил к десяти годам лагерей, лишив воинского звания и боевых наград.
Однако разведчику, с которым сотрудничал Николай Максимович в немецкой разведшколе, удалось выжить. Он сообщил своему руководству об истинной роли Захарчука в подготовке диверсантов.
24 мая 1947 года Военная коллегия Верховного Суда СССР отменила приговор в отношении Николая Максимовича, прекратила дело и освободила его из-под стражи. Ему были возвращены воинское звание и заслуженные награды.
Захарчук вернулся в Новый Кавдык Ялуторовского района. В 1949 году он переехал в деревню Кукушки Исетского района, где устроился на работу в детский дом.
В феврале 1950 года Николай Максимович покинул Сибирь и отправился на свою историческую родину — в Украинскую ССР. Он поселился в селе Тывров Винницкой области. Впоследствии, до самой своей кончины, он жил в Киеве, но не забывал о Сибири. Поддерживал тёплые отношения и переписывался с сотрудниками Музея памяти декабристов в Ялуторовске.
Возвращение доброго имени Героя Советского Союза Н. М. Захарчука в Тюменской области, откуда он уходил на фронт, окончательно произошло в 2006 году, когда его фамилия появилась на стеле Героев в областном центре — Тюмени.