Это синонимы, но оттенки значения, как и у большинства синонимов, имеются.
Начнём с исходного значения слова «грамотность». Каждому очевидно, что это слово обозначает (1) умение человека читать и писать согласно нормами грамматики и правописания, в то время как только одно умение читать или читать и писать с ошибками называется малограмотностью.
Но у слова «грамотность» есть и ещё одно значение - (2) «компетентность, образованность, учёность», напр. Когда мы говорим «грамотный» специалист (врач, экономист и др.), мы имеем в виду, что это человек, обладающий всеми необходимыми и актуальными для его работы знаниями.
Отсюда и антонимы к этому слову - «неграмотность» как (1) неумение читать и писать, или же как малограмотность, невежественность, неумелость, необученность чтению и письму, а также как (2) неквалифицированност<wbr />ь, необразованность, неосведомленность, непросвещенность, отсутствие достаточных знаний, или же недостаточная квалифицированность, недостаточная образованность, осведомлённость, (напр., неграмотный писец (пишет с ошибками), неграмотный документ (неправильно составленный), политически неграмотный человек (не ориентируется в оценке событий).
А вот слово **«безграмотность»,*<wbr />* синонимичное слову «неграмотность», обозначает абсолютную беспомощность человека, его полное невежество, серость, темноту во всех названных отношениях. В некоторых словарях это слово снабжается даже пометкой (усил.), по сравнению с его синонимом «неграмотность». Если «не-» - это просто отрицание, отсутствие каких-то отдельных умений, то «без-» - это абсолютная лишённость вообще каких-либо упомянутых выше умений. В этом их разница.