I've been having this issue where my autoexec just stopped working, kinda. It will only do some commands. as far as I'm aware it does "mat_setvideomode", "cl_showpos". but does not do any bindings. however, I noticed that if it becomes out of sync with Steam Cloud, it works perfectly fine, bindings included. Though I'm not sure how to cause steam to become out of sync, and would rather have an actual fix rather than doing that. I've tried both launch command lines "-autoexec" and "+exec autoexec" (and "+exec autoexec.cfg"), and the game just refuses to do anything. but will still run the mat_setvideemode. I also should note that the bindings that I set become "" when I run bind <key> so for example: r = "" instead of "key not bound". this will only happen if the is not bound prior to the game loading. if it's already bound, nothing will happen
TLDR: Portal 2's autoexec.cfg does not work with Steam Cloud being synced.