Getting ADXL345 accelerometer to work over SPI with Arduino Uno
You should read the datasheet for the part to double check your connections. You should not be having any pullups for SPI communication. 

Regarding being unable to communicate via I2C when motors are on - how long are your I2C wires? Trying to lower the resistance of I2C pullups might help.

In general you can try to remedy this situation by adding bigger caps near microcontroller/accelerometer power supply or even adding a small (~10 ohm or less) series resistor and a cap on Vcc that goes to noise sensitive part.

Read up on star grounding and powering techniques, it is possible you could solve your problem by just reconnecting wires in "star" manner.