The limit is actually that of the video card. Shaders are processed by the video card. Although not entirely certain (about 60%), the higher the fill rate is for your video card, the more pixels can processed by the video card for shaders. For an older mid-range card, about 2 gigapixels is about typical meaning 33 megapixels per frame for 60 fps. As to how many shaders you can have at the most, that depends on how much disk space and memory you have for storing all them, so if you want 1000, go ahead and program a thousand shaders.
As a suggestion, you should read the first part of my signature - it's a very useful tip.