Hi @Parth Gupta,
I did a small test and was able to remove the Macros root storage by using the structured storage Windows API's. This appears to have removed the macros. Word will still show the names of macros that previously existed but when you attempt to edit them in the Developer window, it will report that they no longer exist.
Here is the small snippet using the Windows API's to remove the storage:
STGOPTIONS stgOptions = { 2, 0, 512, 0 };
IStorage* pStg = 0;
HRESULT hr = StgOpenStorageEx(L"<path>\test.doc",
STGM_TRANSACTED | STGM_READWRITE | STGM_SHARE_EXCLUSIVE, STGFMT_DOCFILE, 0, & stgOptions, 0, IID_IStorage, (void **) & pStg);
hr = pStg->DestroyElement(L"Macros");
pStg->Commit(STGC_DEFAULT);
pStg->Release();
I don't have the equivalent code in Python to do this but I would recommend using a library that is designed to manipulate OLE compound files.
Tom