Cuando hablas de que devuelve dos o más datos... Te refieres a que el foreach cicla más de una vez? Repite datos? En todo caso el problema estaría en el proceso dentro de la función get_the category().
por otro lado, ese break; está fuera del foreach, por lo que en teoría no debería tener efecto alguno. Todo ese código forma parte de alguna otra estructura de control más grande?