Родился 22 мая 1922 года в столице Татарской АССР городе Казани в семье рабочего. По национальности — русский.
Окончил 10 классов и Казанский аэроклуб ОСОАВИАХИМа. В Красной Армии с 1941 года. В том же году окончил Свердловскую военно-авиационную школу.
Во время Великой Отечественной войны в действующей армии с декабря 1942 года. Был лётчиком штурмового авиаполка, затем командиром звена 667-го штурмового авиаполка (292-я штурмовая авиадивизия, 1-й штурмовой авиакорпус, 5-я воздушная армия, 2-й Украинский фронт). Член ВКП(б)/КПСС с 1944 года.
К январю 1944 года лейтенант Столяров Н. Г. совершил 96 боевых вылетов, нанеся противнику большой урон в живой силе и боевой технике. В групповых воздушных боях уничтожил 6 самолётов противника.
В 1944 — 1945 годах Н. Г. Столяров — заместитель командира и командир авиаэскадрильи, штурман 141-го гвардейского штурмового авиаполка (3-я гвардейская штурмовая авиадивизия, 1-й гвардейский штурмовой авиакорпус, 2-я воздушная армия, 1-й Украинский фронт).
К апрелю 1945 года гвардии капитан Столяров Н. Г. совершил 185 боевых вылетов на штурмовку объектов противника.
Всего за годы войны, участвуя в боях на Калининском, Воронежском, Степном, 2-м и 1-м Украинском фронтах, Н. Г. Столяров совершил свыше 180 успешных боевых вылетов, сбил 8 вражеских самолётов.
В 1946 году окончил Полтавскую высшую офицерскую школу штурманов, в 1954 году — Военно-воздушную академию. Был штурманом и заместителем командира авиационного полка. С 1956 года подполковник Столяров Н. Г. — в запасе. В 1975 году ему присвоено воинское звание полковник.
Жил в Москве, где и скончался 23 февраля 1993 года. Похоронен в Москве на Троекуровском кладбище.
Награждён: