The problem is not the spoke length. There are four possibilities regarding spoke length. 1) they are too short and do not reach or do not engage enough threads. 2) they are the correct length. 3) they are too long, but not so long that the threads pass too far through the nipples, in which case they can simply be cut shorter to keep from piercing the inner tube. 4) they are too long and threads in the nipple overlap the smooth shank of the spoke wire in which case they ca not be used. Realize that the threads on spokes are rolled, not cut, so the threads stand proud of the base wire diameter. This makes it possible for the nipple to thread on past the threads on the spoke in many cases.
You are correct in assessing that the holes drilled in the rims are not angled correctly for the diameter hub you are using. The critical thing to understand is that it is not only the hole, which often is sufficiently larger than the nipple diameter as to be if no consequence, but the machined "countersink" that the head of the nipple bears against. This is the surface that needs to be machined at the proper angle for the spoke to "aim" properly at the right hole in the hub. When the hole/countersink (for lack of a better term) is not angled correctly, the spoke will curve so that the nipple end is aimed as the hole is aimed, and then curve/bend to reach the hole in the hub. I doubt that this causes much of a structural issue unless really severe, but personally I find any bending unacceptable if only for looks.
I have corrected this problem by making a cutter to re-machine the landing or countersink to the correct angle. It was actually pretty easy, albeit pretty crude. The result was fine though. First I laced up half the spokes and somewhat trued the wheel. Then I made a cutter from a woodworkers drill/countersink. The type that has a set screw and a replaceable drill bit. They are commonly available - I got one at Home Depot. I took out the drill and re-ground the countersink cutting angle to match the nipple flange. Then replaced the drill with a steel rod long enough to almost reach the hole in the hub from the corresponding hole in the rim. Then it was a simple process to re-cut the nipple seat by putting the modified cutter in a drill motor and "aiming" the rod at the correct hole in the hub. So you can see why you need to lace up half the spokes so you have your "target" in the right place. Once you have half of the new seats cut, you lace up those spokes, remove the first half and then cut the rest. This was actually a lot faster and easier to do than it no doubt sounds. You do need to take care to not over cut, as the rim is only so thick. I have done this on rims from Mikes and had no problems. If your nipples are a close fit to the holes themselves, you will have to angle the holes as well to match. This is vastly less critical, as it is the seat that aims the nipple and hence the spoke, so you can simply take the correct drill and re-angle the hole by eye. Easy enough to do one at a time after you get the seats cut properly and have the wheel assembled.
Reproduce this pic on your own wheel. This is an 18" Chinese rim and an RD350 rear hub. The rim is drilled for a front disc brake hub that is much smaller in diameter. Simply seat the nipple in the rim and see how it aligns. If it looks like this, you either need to re-machine the rim or replace it with one that is correctly machined for your hub. The spokes in this pic look straight only because they are super loose. When tight, the nipples will all aim like the one I am holding and the spokes would be very obviously curved. I re-cut this rim and it was fine.