I think that a boiled-down reason for not announcing "I am very smart" is that it also says "...and you are not very smart." The speaker may not have intended to make that statement, but that's not the point. The point is that this is actually a loaded statement that says more under the surface than it does on the surface. It can make others feel inadequate or lead them to believe that the speaker thinks he's better than they are. This makes them annoyed or angry, causes them to lose respect for the speaker, and it isn't nice, either.

It's normal for kids to not understand this idea. The job of adults is to help them learn the subtleties of communication and how to interact with others.