В незнании питона, разумеется.
В Питоне переменная - это не более чем ссылка на объект. Соответственно, если ты присвоил переменной ссылку на другой объект - от этого первый объект не изменится.
for para in paras: # имя para указывает на объект - элемент списка doc.paragraphs
para = para.text.split(' ') # имя para указывает на список строк, старая ссылка потеряна.
for word in para: # имя word указывает на элемент из списка - строку
//'NAME,' - строка в исходном файле
if word == 'NAME,':
word = name + ',' # имя word теперь указывает на другую строку. Список от этого не изменился.
para = ' '.join(para) # имя para теперь указывает на строку, ссылка на список потеряна
# а список doc.paragraphs от присваивания выше тоже никак не изменится,
# так как он ничего не знает об операциях с para.text
Попробуй присвоить что-нибудь para.text, для начала. И не переиспользуй имена переменных, тебя что, платить заставляют за каждое имя?
Ну и не приведён код, который сохранит изменённый документ в файл.