Porque o significado e a tônica das palavras não são construídos pelo dicionário. O dicionário só os registra - os sentidos são construídos na interação diária entre as pessoas. Algumas palavras ao longo do tempo vão perdendo sua conotação ruim, outras vão ganhando uma conotação ruim. E isso depende das pessoas que as usam, e o contexto em que usam. Como socialmente é esperado que chamar de "bobo" em um contexto romântico é flerte, por ser uma provocação leve, então isso é naturalizado. As palavras não são literais, elas têm significados diferentes em contextos diferentes. Se seu chefe ou seu pai tomam uma decisão errada que você não concorda e você chega para eles e diz "você é um bobo", aí sim parece uma ofensa. Os sentidos das palavras são algumas vezes dados pelas situações e pessoas com quem você está falando.