Можно объяснить это с фонетической точки зрения. Слово "мальчик" произошло от слова "малый". То есть этимологически существует основа, от которой слово образовано - "мал-" и суффикс "-чик". Согласная, стоящая перед мягким звуком [ ч' ] иногда тоже смягчается (процесс ассимиляции). Поэтому для удобства произношения исторически сложилось, что здесь и стоит мягкий знак. То есть этот фонетический процесс получил свое отражение и на письме