Thank you. Much easier to access.
The obvious way to do what you want is to repeat the code 3 times using different variables for each button/LED combination. Start by using the code that you have and renaming all the variables with a zero on the end, such as state0, inPin0 etc. Make sure that the code works. Now add a second set of variables with the same names but with a 1 on the end, such as state1, inPin1 etc and separate code to read and handle the input and timing. Make sure that the code works. Now add a third set of variables etc with a 2 at the end of the names and make sure that it works.
By now you will have lots of lines of code with similar variable names all doing the same thing. There must be a better way, and there is. Read up on arrays. Declare all your variables as arrays with 3 levels. This way you will have state[0], state[1] and state[2] etc. Now put one set of the code that reads inputs and deals with outputs into a for loop that runs from 0 to 2 and accesses the array variables using the for loop variable. Now you have a much smaller program and have learned about arrays and for loops.