Your design can be done easily using a microcontroller(PIC or AVR) with sufficient I/O pins, at minimal cost. The cost of a microcontroller is a few dollars and a +5V regulated supply is under $10.
Everyone of the LED On/Off pattern is stored inside a lookup table in the microcontroller memory and at every fixed time interval(1 second, 0.5 or 0.2 second...)l the microcontroller checks up on the tables to see if there is any change need to make to all the LEDs.
If all LEDs have different "periods", here period means the total time that pattern for one LED starts all over again, then one would need up to 20 lookup tables. For example, one LED repeats every 9.5s but another repeats every 7.2 second...etc...
To reduce the total number of lookup tables, it is possible to stuff 8 LED patterns into one memory word. Therefore it makes sense to have more than one pattern that have a fixed repeated interval as then a single lookup table is needed. Please note the difference between pattern and total period. The pattern can be different but the period can be the same.
You will need to draw on a single time line chart of all the LEDs with shortest desire timing interval where changes are happening. Remember, all LEDs On/Off states should be know at a given time on the chart.
Does this make any sense to you?