Considering that he's performed exceptionally for many years, has proven leadership capabilities and is highly intelligent, why haven't they given him a higher rank?
Because rank follows job
Army rank isn't just a question of experience, heroics or capabilities. It's not like going up a level in a D&D game. After a certain point, an officer's rank implies his job, not only his abilities.
A US Army Captain usually commands units the size of Companies or smaller, meaning at most a group of 80-250 soldiers. This is in keeping with Captain America's usual scale - he usually leads platoons, actually, but in the First Avenger movie we saw him lead a larger group to rescue hostages.
Generally speaking, the work he does is not that of a Major, Colonel or General. He's a field agent and tactical warrior, not a strategist or high-level commander.
Because you have to be in service to be promoted
Of course, all this ignores the fact that as far as I know he isn't, as of the main Marvel timeline, an active member of the US Army. He works with S.H.I.E.L.D, and keeps his existing rank, but since he's not an active commissioned officer, he won't continue moving up the ranks.
He hasn't been promoted because he isn't active military personnel. It's that simple. He is considered "retired" from the US Army.
He had a rank when he was in the Army and when he "died" that was the rank he wore.
When he was found and revived, the world he lived in included many beings of superhuman stature and his previous ranking became a "sobriquet" denoting his previous service and a "recognizable brand".
He is a consultant with SHIELD providing "special operation services".
If he were to rejoin the Army in an active military capacity, he would then be eligible for promotions allowing him to increase in rank and I suspect considering his abilities and strengths as a leader would quickly find himself promoted.
In the canon Marvel Universe, Captain America is considered to be the finest tactical leader the Avengers have ever had and during times of combat, almost everyone INCLUDING Thor will defer to the Captain's judgment.
And as far as any marketing guru will tell you, you don't change a winning brand.
"Captain" in his case is generally not seen as a 'rank' in the strict sense but is his Nom de guerre, his 'war name'. Though he has the authority of a combat field commander, he was originally assigned the CODE NAME 'Captain America' as a result of the Super-Soldier Program and because it was a catchy name for the anti-Nazi propaganda campaign at the time, not because he attended West Point and was promoted through the ranks to the rank of Captain.
(Note: He didn't even go through Army basic training bootcamp)
Steve Rodgers went from being a scrawny civilian, allowed to enlist, was administered the Super-Soldier Serum (which was obviously a success), put through an intensive 3 month physical and tactical training program, was then 'appointed' the CODE NAME 'Captain America'. All of this happened in the span of a little over 3 months. His Nom de guerre is so well known that it would never be changed to 'Lt. Col. America' no matter how many people he commanded.
Made an account just to answer, but I answer mostly because I can't comment
Most likely because the "Captain" part is not really a "rank", but a moniker. Kind of like "Captain Obvious". Nobody has ever demoted Captain Obvious, no?
By the way, you don't need to be serving an "army" to be assigned a "rank". Colonel Sanders was a businessman, for example, and his rank is higher than America