По правилам русского словообразования соединительная гласная о используется после основ на твердый согласный, а соединительная гласная е — после основ на мягкий согласный и ж, ш, ц. Поэтому правильным будет слово гвоздемёт (ср. гвоздезабивной). Существует, однако, ряд исключений из этого правила, куда входит в том числе слово гвоздодёр. Этим обусловлены колебания в речевой практике: гвоздемёт (по правилам) или гвоздомёт (как гвоздодёр). Поскольку слова гвоздемёт / гвоздомёт не зафиксированы в словарях, рекомендуется руководствоваться общим правилом и использовать вариант с соединительной гласной е.
Мягкий знак в слове гвоздь указывает на мягкость конечного согласного в слове. В словоформе гвозди эту функцию мягкого знака выполняет буква И (согласный перед И должен быть мягким), поэтому мягкий знак становится ненужным.
Теперь об отсутствии мягкого знака между буквами З и Д. Смягчение З в слове гвоздь происходит за счет мягкости последующего Д'. Такое явление называется регрессивной ассимиляцией согласного звука по мягкости-твердости. Проверить, что звук З не имеет собственной мягкости, можно, подобрав однокоренное слово с твердым Д, например гвоздодер. Исходя из принципа единообразого написания корней в однокоренных словах, мягкий знак не должен писаться и в словах гвозди, пригвоздить и т. п.