You're using the 8 bit address (0x70) and should be using the 7 bit address of the I2C device (0x38) instead. Bit 0 of the slave address determines direction of data flow (read or write) and is automatically inserted by the Wire library.
I am being a bit thick here , but presumably by bitshifting one to the right :-
byte saa1064 = 0x70 >> 1; // define the I2C bus address for our SAA1064 add pin grounded
will be bitshifted one to the left again by the Arduinos read/right bit, and lefthand 0 will drop away.
The program is written for address 0x70 (Arduino address 0x38).
so the chip will still see 0x70 as its address, and simply using 0x38 as an address would confuse things as its not the address associated with the device ?