Try:
df['REFERENCE'].astype(str).str.strip().str.replace('(','')).str.replace(')',''))
a Pandas Series (column) has both a Series.replace method and a Series.str.replace replace method. The string accessor .str is necessary to use the string based methods which is what you're expecting.
*Series.replace("foo", "bar") looks in each cell of the Series, and if the value is equal to "foo" it is replaced with "bar". So for this method to work, a value in the Series must be exactly equal to "foo", nothing more, nothing less.
*Series.str.replace("foo", "bar") looks in each cell of the Series, and checks replaces ANY PART of the value that is "foo" with "bar". So in this case, the values inside the Series can be strings that simply contain the string "foo" and it will replace the portion of that string with "bar"