"Tengo que" se usa cuando tú tienes que hacer algo, por ejemplo: "Tengo que lavar los platos". Es una obligación. "Hay que" es más general, es decir, tú lo usas para decir que algo tiene que ser hecho por alguien, ese alguien eres tu y otras personas, por ejemplo: "Mi hermano me dice: Hay que terminar el juego"; él usa el "hay que" para incluirse el mismo como sujeto y a la vez incluirme a mi, es decir, terminar el juego, la acción, tiene que ser hecha por ambos, no solo él, no solo yo, ambos, juntos. :D