You say you have a spark issue, but you discuss a spark issue and a starting issue. It would be better to have two posts, one for each topic.
SPARK ISSUE:
Yes, I think that if you have a weak spark, the problem is probably coming from the CDI unit or the ignition coil. Honda CDI's usually send 100 volt pulses to the ignition coil. Can you measure the input to the ignition coil to see if you have 100 volt pulses? If so, your CDI is good. To test the ignition coil, the best way is probably to replace it with one that is known to be good.
ELECTRIC STARTING ISSUE:
You say you are getting power through both wires from the start button to the solenoid. This confuses me because there is only one wire that goes to the solenoid (starter relay) that should have power. There are two small wires on the starter relay. One is green, and the other is some other color. The non-green wire is the one that should have power. If the green wire has power at the starter relay, that explains why your electric starter won't work. The green wire is your ground wire and should read 0V while starting as long as the transmission is in neutral. 12V at the green wire indicates that it is broken somewhere, or there is a problem with your neutral safety switch, and you don't have a complete ground circuit, thus the starter relay won't work. If that is what you have, then you need to find out where you are losing ground in that green wire.
SPARK ISSUE:
Yes, I think that if you have a weak spark, the problem is probably coming from the CDI unit or the ignition coil. Honda CDI's usually send 100 volt pulses to the ignition coil. Can you measure the input to the ignition coil to see if you have 100 volt pulses? If so, your CDI is good. To test the ignition coil, the best way is probably to replace it with one that is known to be good.
ELECTRIC STARTING ISSUE:
You say you are getting power through both wires from the start button to the solenoid. This confuses me because there is only one wire that goes to the solenoid (starter relay) that should have power. There are two small wires on the starter relay. One is green, and the other is some other color. The non-green wire is the one that should have power. If the green wire has power at the starter relay, that explains why your electric starter won't work. The green wire is your ground wire and should read 0V while starting as long as the transmission is in neutral. 12V at the green wire indicates that it is broken somewhere, or there is a problem with your neutral safety switch, and you don't have a complete ground circuit, thus the starter relay won't work. If that is what you have, then you need to find out where you are losing ground in that green wire.