Il fatto dei margini o quant'altro sono regola default html. Ovviamente si possono personalizzare come ho fatto.
Solitamente gli elementi sono così attaccati.
Font-awesome di defautl ha l'icona più piccola, basta levare la classe fa-2x QUI ci sono gli esempi delle sue classi.
Ho messo fa-2x per ingrandire.
EDIT:
puoi modificare la dimensione dell'icona agento da css sul font-size per il tag <i> del caso.
In questo caso per esempio potrebbe far comodo un ID piuttosto che eroneamente settare un font per la classe .fa o fa-2x la quale agirebbe su tutte le classi uguali presenti in pagina