Ciao! Invece di cambiare l'innerHTML (cosa che ti sostituisce TUTTO il contenuto precedente con quello "nuovo") dovresti appendere il nuovo "div" a quelli eventualmente già presenti dentro "chat".
Qualcosa del genere:
function user1(id) {
var msg_user1 = document.getElementById(id).value;
var chat = document.getElementById('chat');
var newHtml ="<div style=\"width:100%;height:20px;margin-top:2px;position:relative;background-color:yellow\">"+msg_user1+"</div>";
var prevHtml = chat.innerHTML;
chat.innerHTML = prevHtml+newHtml;
}
In realtà questa è una versione un po' grezza, sarebbe meglio creare il nuovo div ed aggiungerlo alla chat utilizzando il metodo "appendChild".
Oppure potresti usare jQuery, in particolare il metodo
append