The problem here is that you are creating one instance of CurrentDetector for every instance of CommandBase.
Code:
// Create a single static instance of all of your subsystems
public static ExampleSubsystem exampleSubsystem = new ExampleSubsystem();
CurrentDetector currentDetector = new CurrentDetector();
SpikeLoad spikeLoad = new SpikeLoad();
Since you have multiple classes that extend CommandBase, you have multiple instances of CurrentDetector and SpikeLoad.
Each time you create a new instance of CurrentDetector, it tries to allocate Analog Channel 2. The error you are getting is that the channel is being allocated multiple times.
To fix this problem, you should make the instances of CurrentDetector and SpikeLoad static:
Code:
// Create a single static instance of all of your subsystems
public static ExampleSubsystem exampleSubsystem = new ExampleSubsystem();
public static CurrentDetector currentDetector = new CurrentDetector();
public static SpikeLoad spikeLoad = new SpikeLoad();