You are trying to get the value from List< Account> ac in a wrong way. As you are querying only one record.. You can use Account ac and get the value as you are doing.
If you want to use the list.. then you should get the first index of the list as follows:-
ac.get(0).R1_ACC_TXT_Id_Golden_record__c
try this:-
Account Ac= [SELECT Id,FirstName,LastName,R1_ACC_TXT_Id_Golden_record__c FROM Account WHERE
R2_ACC_TXT_ICAR_Seg_maturity_level__c ='Churned Customer' and R1_ACC_FOR_Primary_FF_Card_CCPO__c = null
and R1_ACC_TXT_Primary_FF_Card_CCPO__c = null and R1_ACC_TXT_Primary_Frecuent_Flyer_Card__c = null and R2_ACC_NUM_ICAR_ind_ibcom__c = 0 limit 1];
Account_Archive__b Acarchive = new Account_Archive__b();
Acarchive.R1_ACC_TXT_Id_Golden_record__c = Ac.R1_ACC_TXT_Id_Golden_record__c;
Acarchive.AccountID__c = Ac.Id;
Acarchive.First_Name__c = Ac.FirstName;
Acarchive.Last_Name__c = Ac.LastName;
database.insertImmediate(Acarchive);
List method:-
get(index):- Returns the list element stored at the specified index.
Usage:- To reference an element of a one-dimensional list of
primitives or sObjects, you can also follow the name of the list with
the element's index position in square brackets as shown in the
example.
example:-
List<Integer> myList = new List<Integer>();
myList.add(47);
Integer myNumber = myList.get(0);
system.assertEquals(47, myNumber);
You can learn more about List in apex here:- https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_methods_system_list.htm
Update:- If you have a large number of records, all you need is run a for loop through the list, store the data in another list which you are trying to insert, and insert the list outside for loop like this:-
List< Account_Archive__b Acarchive> listtoinsert = new list< Account_Archive__b Acarchive>();
for(Account ac :acclist){
Account_Archive__b Acarchive aaba= new Account_Archive__b Acarchive();
aaba.R1_ACC_TXT_Id_Golden_record__c = Ac.R1_ACC_TXT_Id_Golden_record__c;
aaba.AccountID__c = Ac.Id;
aaba.First_Name__c = Ac.FirstName;
aaba.Last_Name__c = Ac.LastName;
listtoinsert.add(aaba);
}
insert listtoinsert;