Потому что в этом слове стоит суффикс −ёнок-ёнок−ёнок (уменьшительно‑ласкательный) и звук, который он даёт, передаётся буквой «ё». Буква «ё» в русском языке фиксирует звук [о] с соответствующей палатализацией/йотированием и всегда находится под ударением, поэтому пишут «собачёнок», «собачёнка» (род. или вин. форма). Аналогичные примеры: «котёнок», «утёнок», «телёнок». Примечание: в печати часто «ё» заменяют на «е», но это ошибка с точки зрения точной передачи произношения.
Примечание: в печати часто «ё» заменяют на «е», но это ошибка с точки зрения точной передачи произношения.