So you don’t need to build it but just say how you would build it? Easy.
10 potentiometers need 10 analog inputs. Use an Arduino Mega which has 16 analog inputs.
10 DC motor drivers need 10 PWM pins and 10 direction pins. If you want dynamic braking (always a good idea) then add 10 more digital pins. Still within the capacity of the Mega although you don’t have a lot of spare pins for pin-hungry devices like LCD screens. Plan on using SPI and I2C for screens and sensors.
Physically wiring to 10 motor controllers will be messy but that can be ignored for now.
So, does the Mega have the processing power to run all 10 motors? Just doing one analogRead() and ignoring the result, you can only do 10,000 reads per second. Lets say your code will take a reading, do some calculation and output the result to a motor with analogWrite() on the PWM pin. That might take 10-20 times longer. So you can do that 500 times per second.
500 motor updates per second lets you touch each motor 50 times per second. How far can it move away from the desired output in a 50th of a second? Not far at all. Even if the motor is moving fast, say 100 revolutions per second, you commanded it to move fast. If your command asked for 105rps then it is only moving away from the desired position at 5rps so measuring 50 times per second means it can only be 0.1 turn away before you look at the potentiometer and update the output.
So how do you determine the correct output? Use the PID library and create 10 PID objects.