Yun Server on two different ports

You are calling Bridge.begin() in the middle of your initialization sequence. It must come first. I'll bet that what's happening is you are starting to set up the first server, then you call Bridge.begin() which initializes things inside the Bridge library, and you lose the improperly initialized first server. The second server works, because it was initialized after the Bridge was initialized.

You asked for any tips: my tip is don't try to do all of this in the sketch. The Linux side is much more powerful and efficient when it comes to setting up networked applications. It is also much faster and does not have the same RAM and ROM space limitations as the sketch side of the Yun.

My philosophy when it comes to Yun applications is to do as much as possible on the Linux side, and just use the sketch as a dumb I/O processor that handles the communications with the shield I/O pins.